Hallo Zusammen,
ich will das Thema FastCGI und Error 500 nochmals aufgreifen.
Leider erlebe ich es täglich auf den gehosteten Seiten und will es irgendwie loswerden.
Denke das ich da nicht der einzigste bin.
Viktor hat ja schon mal gewissen Ansätze zum Load Average und Error 500 gebracht. Das hat auch soweit gezogen. Allerdings ist es einfach sporadisch mit dem Error 500 und sehr ägerlich weil das Ticketsystem sich nur so füllt.
Root Server bei Hetzner/Dual Core mit genügend Power (was grad nicht genau welcher).
Das Loadaverage liegt bei ~ 0.70 also nix. Der Server idelt schon fast.
Auf dem Server liegen etwa 174 Domains incl. Aliases.
Arbeitsspeicher ist ausser das er etwas swapt auch OK.
Code:
free
total used free shared buffers cached
Mem: 2045308 1905876 139432 0 188892 781232
-/+ buffers/cache: 935752 1109556
Swap: 8000352 218752 7781600
Debian Etch, PHP 5.2.5-0
Code:
php -v
PHP 5.2.5-0.dotdeb.1 with Suhosin-Patch 0.9.6.2 (cli) (built: Nov 12 2007 17:00:01)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with the ionCube PHP Loader v3.1.32, Copyright (c) 2002-2007, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Suhosin v0.9.20, Copyright (c) 2002-2006, by Hardened-PHP Project
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
Ich habe schon einige Configs angepasst:
/etc/apache2/mods-enabled/fastcgi_ispcp.conf
Code:
<IfModule mod_fastcgi.c>
FastCgiWrapper On
FastCgiIpcDir /var/lib/apache2/fastcgi2
FastCgiConfig -idle-timeout 300 -killInterval 60 -multiThreshold 80 -startDelay 5 -maxClassProcesses 10 -maxProcesses 400 -minProcesses 10 -listen-queue-depth 400 -pass-header HTTP_AUTHORIZATION
#FastCgiConfig -minProcesses 1 -maxProcesses 10 -singleThreshold 100
#-killInterval 300 \
#-autoUpdate \
#-idle-timeout 240 \
#-pass-header HTTP_AUTHORIZATION
FastCgiServer /var/www/fcgi/master/php5-fcgi-starter -user vu2000 -group vu2000
#
# PHP5 SUPPORT
#
AddHandler php-fastcgi .php .php5
<Location /php5/php5-fcgi-starter>
SetHandler fastcgi-script
Options +ExecCGI
</Location>
Action php-fastcgi /php5/php5-fcgi-starter
AddType application/x-httpd-php .php .php5
</IfModule>
Domain einiger Poweruser in der php5-fcgi-starter angepasst:
php5-fcgi-starter
Code:
#!/bin/sh
# Hinzugefuegt / BeNe
# Alle alten PHP Prozesse, die dem Init gehoeren, killen
ps ax -F | awk '{ if ( $3 == "1" && $1 == "vu2009" && $12 == "/usr/bin/php5-cgi" ) { print "kill " $2 } }' | sh
# Ausgeschalten / BeNe
# umask 0022
PHPRC="/var/www/fcgi/einedomain.tld/php5/"
export PHPRC
#Ausgeschalten / BeNe
#PHP_FCGI_CHILDREN=5
#export PHP_FCGI_CHILDREN
#PHP_FCGI_MAX_REQUESTS=500
#export PHP_FCGI_MAX_REQUESTS
exec /usr/bin/php5-cgi
Diese Configs habe es schon ein wenig eingedämmt, aber perfekt und zufrieden es echt was anderes.
Hier mal ein Auszug aus der Error log einer Domain:
/var/log/apache2/users/eineseite.tld-error.log
Code:
[Thu Nov 22 16:06:02 2007] [error] [client 84.136.33.250] (111)Connection refused: FastCGI: failed to connect to server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter": connect() failed
[Thu Nov 22 16:06:02 2007] [error] [client 84.136.33.250] FastCGI: incomplete headers (0 bytes) received from server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter"
[Thu Nov 22 16:06:04 2007] [error] [client 84.136.33.250] (111)Connection refused: FastCGI: failed to connect to server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter": connect() failed
[Thu Nov 22 16:06:04 2007] [error] [client 84.136.33.250] FastCGI: incomplete headers (0 bytes) received from server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter"
[Thu Nov 22 16:06:05 2007] [error] [client 84.136.33.250] (111)Connection refused: FastCGI: failed to connect to server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter": connect() failed
[Thu Nov 22 16:06:05 2007] [error] [client 84.136.33.250] FastCGI: incomplete headers (0 bytes) received from server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter"
[Thu Nov 22 16:06:06 2007] [error] [client 84.136.33.250] (111)Connection refused: FastCGI: failed to connect to server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter": connect() failed
[Thu Nov 22 16:06:06 2007] [error] [client 84.136.33.250] FastCGI: incomplete headers (0 bytes) received from server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter"
[Thu Nov 22 16:06:07 2007] [error] [client 84.136.33.250] (111)Connection refused: FastCGI: failed to connect to server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter": connect() failed
[Thu Nov 22 16:06:07 2007] [error] [client 84.136.33.250] FastCGI: incomplete headers (0 bytes) received from server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter"
[Thu Nov 22 17:25:10 2007] [alert] [client 213.23.238.130] (2)No such file or directory: FastCGI: failed to connect to (dynamic) server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter": something is seriously wrong, any chance the socket/named_pipe directory was removed?, see the FastCgiIpcDir directive
[Thu Nov 22 17:25:10 2007] [error] [client 213.23.238.130] FastCGI: incomplete headers (0 bytes) received from server "/var/www/fcgi/eineseite.tld/php5-fcgi-starter"
Anfangs haben wir da
(111)Connection refused: FastCGI: failed to connect to server dann
FastCGI: incomplete headers (0 bytes) received from server und
(2)No such file or directory: FastCGI: failed to connect to (dynamic) server
Hat einer von euch schon das ganze in den Griff bekommen ?
Gibt es Lösungsansätze ? Mit ist klar das die Standardconfig nicht für jeden Server passt. Das haben wir schnell erkannt. Aber ich bin leider (noch) kein FastCGI profi und kann es nicht so ganz nachvollziehen.
Bin für alle Lösungsvorschläge offen. Scheint aus meiner Sicht eine reine Einstellungssache zu sein. Wobei aber einfach noch da Ansatzpunkte und Werte fehlen. Viele Foren gibt es zu dem Thema leider nicht.
Malte hat das Problem ja hier auf den Seiten auch in den Griff bekommen.
Vielleicht kannst du, Malte ja etwas Licht ins Dunkle bringen.
Wäre Dir sehr dankbar, andere sicher auch.
Spätestens wenn die RC3 mit dem Updatescript von VHCS->ispCP draussen ist sollten wir aussage kräftig sind und helfen können. Aber so stehe ich selber vor verschlossener Tür.
Greez BeNe