Hallo,
mir hat jetzt schon an zwei Tagen am Stück der Apache Server die komplette VM abgeschossen, auf der sonst keine anderen Dienste laufen.
Die VM (Xen) hat 2GB RAM + 1GB Swap, eingesetzt wird Debian Lenny mit den ganz normalen Debian-Paketen.
Immer so gegen 04.30 fängt der apache2 bzw. mod_fcgid an, unzählige php-fcgi-starter zu restarten....
Das sieht dann im error.log so aus: http://pastebin.de/4071
Kein Wunder dass die VM dann um 04:36 wegen Speichermangel ausgestiegen ist (musste die dann von dom0 aus destroyen, kam weder per ssh noch "xm console" drauf, auf der xen-console sah man lauter Speicherfehler).
Besondere Cronjobs laufen zu der Zeit nicht, http-Zugriffe sind zu dieser Tageszeit auch sehr niedrig, es gibt also keinerlei Angriffe. Dazu läuft noch mod_evasive, die evtl. dos-versuche abblocken würde. Dazu kommt es aber laut log gar nicht..
Anbei meine Config:
apache2.conf
mod_fcgid.conf. Die Werte sind deshalb so hoch, weil ich sonst immer Timeoutproble mit fcgi habe (große File-Uploads), der berühmte 500er Fehler halt (vgl. https://serversupportforum.de/threa...mature-end-of-script-bei-fcgid-apache2.31388/). Max-Requests habe ich extra niedriger gemacht als PHP_FCGI_MAX_REQUESTS in dem fcgi-Starter-Skript (laut mod_fcgid-Docs ist das empfehlenswert).
Als Beispiel für einen fcgi-wrapper mal das Starter-Skript von web169:
/var/www/php-fcgi-scripts/web169/.php-fcgi-starter
Woran kann das liegen? Wenn da jemand einen Tipp hätte, wäre ich super dankbar. Ich habe ehrlich gesagt bisher nur Pleiten erlebt mit der Kombination apache2/suexec/mod_fcgid, die Server laufen derzeit kaum einen Tag ohne Neustart. Bin schon kurz davor wieder auf mod_php zu wechseln.
Gruß
Benjamin
mir hat jetzt schon an zwei Tagen am Stück der Apache Server die komplette VM abgeschossen, auf der sonst keine anderen Dienste laufen.
Die VM (Xen) hat 2GB RAM + 1GB Swap, eingesetzt wird Debian Lenny mit den ganz normalen Debian-Paketen.
Immer so gegen 04.30 fängt der apache2 bzw. mod_fcgid an, unzählige php-fcgi-starter zu restarten....
Das sieht dann im error.log so aus: http://pastebin.de/4071
Kein Wunder dass die VM dann um 04:36 wegen Speichermangel ausgestiegen ist (musste die dann von dom0 aus destroyen, kam weder per ssh noch "xm console" drauf, auf der xen-console sah man lauter Speicherfehler).
Besondere Cronjobs laufen zu der Zeit nicht, http-Zugriffe sind zu dieser Tageszeit auch sehr niedrig, es gibt also keinerlei Angriffe. Dazu läuft noch mod_evasive, die evtl. dos-versuche abblocken würde. Dazu kommt es aber laut log gar nicht..
Anbei meine Config:
apache2.conf
Code:
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 20
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
mod_fcgid.conf. Die Werte sind deshalb so hoch, weil ich sonst immer Timeoutproble mit fcgi habe (große File-Uploads), der berühmte 500er Fehler halt (vgl. https://serversupportforum.de/threa...mature-end-of-script-bei-fcgid-apache2.31388/). Max-Requests habe ich extra niedriger gemacht als PHP_FCGI_MAX_REQUESTS in dem fcgi-Starter-Skript (laut mod_fcgid-Docs ist das empfehlenswert).
Code:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
IdleTimeout 600
IdleScanInterval 240
BusyTimeout 300
BusyScanInterval 120
ErrorScanInterval 6
ZombieScanInterval 6
ProcessLifeTime 3600
IPCConnectTimeout 30
IPCCommTimeout 600
MaxRequestsPerProcess 450
DefaultMinClassProcessCount 0
</IfModule>
Als Beispiel für einen fcgi-wrapper mal das Starter-Skript von web169:
/var/www/php-fcgi-scripts/web169/.php-fcgi-starter
Code:
#!/bin/sh
PHPRC="/var/www/clients/client11/web169/conf/"
export PHPRC
PHP_DOCUMENT_ROOT="/var/www/clients/client11/web169"
export PHP_DOCUMENT_ROOT
# The variable PHP_FCGI_CHILDREN is onyl useful for lighty or nginx as apache
# mod_fcgi will control the number of childs themself and never use the additional processes.
# PHP_FCGI_CHILDREN=1
# export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_MAX_REQUESTS
exec /usr/bin/php-cgi \
-d open_basedir=/var/www/clients/client11/web169 \
-d upload_tmp_dir=/var/www/clients/client11/web169/tmp \
-d session.save_path=/var/www/clients/client11/web169/tmp \
$1
Woran kann das liegen? Wenn da jemand einen Tipp hätte, wäre ich super dankbar. Ich habe ehrlich gesagt bisher nur Pleiten erlebt mit der Kombination apache2/suexec/mod_fcgid, die Server laufen derzeit kaum einen Tag ohne Neustart. Bin schon kurz davor wieder auf mod_php zu wechseln.
Gruß
Benjamin