Lösung für das lighttpd Problem backend is overloaded
Nachdem lighttpd eine Weile lief und ich das erste mal mehr Last auf dem Server erzeugte bekam ich folgende Fehlermeldung im errorlog und der Server war nicht mehr erreichbar (500 internal error).
(mod_fastcgi.c.2900) backend is overloaded; we'll disable it for 2 seconds and send the request to another backend instead: reconnects: 0 $ (mod_fastcgi.c.3542) all handlers for /index.php on .php are down. (mod_fastcgi.c.2673) fcgi-server re-enabled: 0 /tmp/php.socket
Beheben konnte ich dies nur indem ich lighty neustartete und die verbleibenden php-cgi Prozesse von Hand killte. Googlt man danach findet man einige Post die sich aber auf ein Problem mit XCache (habe ich nicht) beziehen. Die Lösung für mich fand ich dann hier: Issues with Graceful restart + fastcgi == 500 Server Error
Man hängt einfach die PID des Prozesses an den Socketnamen an. Nach dieser Anpassung läuft mein Testserver nun seit 2 Monaten ohne Probleme und auch auf anderen Systemen habe ich diese Meldung nicht mehr wieder gesehen.
$ nano /etc/lighttpd/conf-available/10-fastcgi.conf
Aus
"socket" => "/tmp/php.socket",
macht man
"socket" => "/tmp/php.socket" + var.PID,
und dann natürlich noch den Server neu starten.
Trackback(s)