PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2 - Max VHosts



cra
05.03.13, 17:16
Hallo zusammen

Ich betreibe einen Apache2 mit einigen VHosts auf Ubuntu-Basis.
Nun musste ich mein System auf Debian umstellen und habe seither das Problem, dass mir der Apache nicht mehr startet.

Restarting web server: apache2Action 'start' failed.
The Apache error log may have more information.
failed!

Wenn ich mir das error.log ansehe, finde ich folgenden Eintrag:

Unable to open logs

Dies bezweifle ich, weil zum einen schreibt er das error.log und zum andern legt er für jede Subdomain ein Log-File an (grössse 0B).

Es handelt sich um etwas übe r500 VHosts ... das VHost-File hat demnach 465KB und etwas über 12'000 Zeilen ...

Bisland habe ich herausgefunden, dass wenn ich 2'000 Zeilen des VHost-Files entferne, kann ich den Apache starten. Setze ich die 2'000 Zeilen wieder ein und lösche 2'000 andere Zeilen, dann startet er auch.

Gibt es hier irgend eine Obergrenze? Kann es sein, dass der Apache das nicht packt? Muss ich ihm irgend wo einen grösseren Puffer einrichten?

Danke und Gruss
cra

nopes
05.03.13, 18:53
Das gleiche, wenn du die vhosts auf mehrere Dateien verteilst?

cra
05.03.13, 22:37
ja, genau gleich

nopes
06.03.13, 00:09
crazy, mein Bauchgefühl sagt, dass da was in der bzw. den Konfigurationsdateien nicht stimmt...

Zu deiner ersten Frage, ein solches Limit ist mir nicht bekannt, der Fehler wird mit hoher Wahrscheinlichkeit woanders liegen um nicht zu sagen, am Inhalt ;)

Ein kurze Idee bzw. Speudo-Code dazu:
teile große Vhost-Datei in viele kleine Dateien auf - kleine Vhost-Dateien liegen dann in eigener Ort; baue jetzt Test-Skript(e)


init
stop apache2
Links löschen

für jeden kleiner Vhost in eigener Ort/kleine Vhosts
stop apache2 //nur zur Sicherheit
erstelle Link Quelle: eigener Ort/kleine Vhost-Datei zu apache2cfg/include/vhost_klein_zähler.conf
if start apache2
nächster kleiner Vhost
else
print name kleiner Vhost
sterbe oho
nächster

bei oho
lösche apache2cfg/include/vhost_klein_zähler.conf

NeustartStirbt es direkt bei der nächsten kleiner Vhost-Datei, dann erst mal ein paar Vorgänger löschen bzw. die Reihenfolge ändern und verifizieren, ob es wirklich an der Größe der Konfiguration liegt -> Fehlersuche oder Bug-Report

cra
06.03.13, 06:25
Hallo Nopes

ich hab die Kojfig bereits gedrittelt, doch ohne Eefolg.

Sobald ich unter 500 VHosts bin, gehts (die genaue Zahl hab ich noch nicht). genau das selbe VHost File(s) läuft znter Ubuntu LTS.

gruss

cra
06.03.13, 07:13
Könnte es sein, dass Irgend wo zuviele offene Files vorhanden sind, da jeder vHost zwei Logfiles anlegt? Dies würde auch erklären, warum er die Fehlermeldung ins Log schreibt.

Wie kann ich sowas prüfen?

Danke und Gruss

marce
06.03.13, 07:56
ulimit -a

*10zeichen*

cra
06.03.13, 20:07
ulimit -acore file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Das wird wohl am open files Limit liegen ... 500x2

nopes
06.03.13, 20:27
nun da ist dann wohl eine mögliche Ursache:
open files (-n) 1024Lösungen werden z.B. hier (http://stackoverflow.com/questions/34588/how-do-i-change-the-number-of-open-files-limit-in-linux) diskutiert.

cra
06.03.13, 23:09
gelöst ...
Danke