26.02.2014 Aufrufe

ADMIN Magazin Gestapelt - Schneller und sicherer mit RAID (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Netzwerk<br />

PHP-FPM<br />

© Matee Nuserm, 123RF<br />

Der PHP-Interpreter PHP-FPM<br />

Ersatzspieler<br />

Apache-Webserver führen PHP-Programme meist <strong>mit</strong> dem Modul Mod-php aus. Das offizielle PHP-Paket enthält<br />

aber auch noch eine wenig beachtete Alternative namens PHP-FPM. Dieser PHP-Interpreter nutzt die FastCGI-<br />

Schnittstelle <strong>und</strong> besitzt einige äußerst interessante Eigenschaften. Tim Schürmann<br />

Wer in der PHP-Dokumentation das Kapitel<br />

zur Installation aufschlägt, stolpert<br />

als Erstes über das Apache-Modul »mod_<br />

php«. Es implantiert einen PHP-Interpreter<br />

in den Webserver Apache, der so<strong>mit</strong><br />

die PHP-Anwendungen selbst ausführen<br />

kann. Für Lighttpd <strong>und</strong> IIS beschreibt<br />

die Dokumentation einen PHP-Interpreter,<br />

der die FastCGI-Schnittstelle nutzt<br />

(siehe Kasten „CGI-Beschleuniger“).<br />

Administratoren sollten hier jedoch nicht<br />

schon <strong>mit</strong> dem Lesen aufhören, sondern<br />

sich noch etwas weiter durch das Kapitel<br />

graben, bis sie auf den FastCGI Process<br />

Manager stoßen. Dahinter verbirgt sich<br />

ein alternativer PHP-Interpreter, der ein<br />

paar gravierende Nachteile von »mod_<br />

php« <strong>und</strong> des herkömmlichen FastCGI-<br />

Interpreters beseitigt.<br />

»mod_php« ist zwar schnell eingerichtet<br />

<strong>und</strong> aktiviert, dafür läuft der Interpreter<br />

aber auch <strong>mit</strong> den Rechten des Webservers.<br />

Eine Änderung der Konfiguration<br />

erzwingt zudem einen Neustart des kompletten<br />

Webservers <strong>und</strong> sorgt so für einen<br />

Ausfall des Internetauftritts. »mod_php«<br />

skaliert zudem recht schlecht. Das bekommt<br />

man besonders zu spüren, wenn<br />

im Laufe der Zeit die Zugriffszahlen<br />

langsam ansteigen. Alle diese Nachteile<br />

waren auch Andrei Nigmatulin ein Dorn<br />

im Auge. Er entwickelte kurzerhand für<br />

den FastCGI-Interpreter einen Patch, der<br />

auch gleich noch ein paar vermisste Sicherheitsfunktionen<br />

nachrüstete. Dem so<br />

aufgebohrten Interpreter gab er den Namen<br />

FastCGI Process Manager oder kurz<br />

PHP-FPM [2].<br />

Sein Name ist dabei Programm: PHP-FPM<br />

startet gleich mehrere PHP-Interpreter-<br />

Prozesse, die ständig im Hintergr<strong>und</strong> laufen<br />

<strong>und</strong> auf Arbeit warten. Eingehende<br />

Anfragen nimmt PHP-FPM vom Webserver<br />

entgegen <strong>und</strong> verteilt sie an die PHP-<br />

Interpreter (siehe Abbildung 1).<br />

Um Server-Ressourcen zu sparen, beendet<br />

PHP-FPM alle gerade nicht benötigten<br />

Interpreter-Prozesse <strong>und</strong> würgt zu lange<br />

vor sich hinwerkelnde PHP-Interpreter-<br />

Prozesse ab. Darüber hinaus kann man<br />

die Konfiguration im laufenden Betrieb<br />

ändern, ohne einen Interpreter-Prozess<br />

oder gleich den ganzen Webserver neustarten<br />

zu müssen. Darüber hinaus bietet<br />

PHP-FPM erweiterte Log-Funktionen. So<br />

kann es beispielsweise alle Skripte protokollieren,<br />

die eine bestimmte Rechen-<br />

28 Ausgabe 06-2012 Admin www.admin-magazin.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!