BreiteSeites Blog

home impressum

wordpress + nginx + php-fpm = Bad Gateway 502

25 Aug 2011

Wer ein Server-Setup mit PHP-FPM, nginx und Wordpress-Blogs betreibt, der hat eventuell das Problem, dass nach dem Veröffentlichen eines Artikels keine PHP-Seite mehr lädt und nginx nur noch mit einem “502 Bad Gateway” antwortet.

Das Problem habe ich nach einiger Recherche dank dem Blog von crashme herausgefunden. nginx beendet den entsprechenden php-fpm Prozess, da (laut Aussage von crashme’s Artikel) nginx einen zu großen Speicherverbrauch vorhersagt und (dummerweise) den Prozess killt.

Die (zumindest temporäre) Abhilfe ist: Mehr PHP-(F)CGI Prozesse spawnen. Bei meinem System musste ich die Mindestzahl von 2 auf 3 erhöhen. Nutzt ihr php-fpm, so stellt ihr die Anzahl der erlaubten CGI-Prozesse mit

pm.max_children = 3

ein. Wer das spawn-fcgi Skript nutzt (wird z.B. gerne in Kombination mit lighttpd verwendet), kann dies mit dessen Übergabeparameter (-F und -C) steuern (siehe crashme’s Blogeintrag).