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.

dann im Slow-Log vermerken, wenn ein<br />

PHP-Interpreter auch nach über einer<br />

halben Minute noch keine Antwort geliefert<br />

hat (Abbildung 7). Alternativ zu<br />

»s« für Sek<strong>und</strong>en kann man die Zeit auch<br />

in Minuten (Kürzel »m«), St<strong>und</strong>en (»h«)<br />

<strong>und</strong> Tagen (»d«) angeben.<br />

Seine eigenen Probleme <strong>und</strong> interne Fehler<br />

schreibt PHP-FPM übrigens standardmäßig<br />

in die Datei »/var/log/php5‐fpm.<br />

log«. Darin findet man auch Hinweise auf<br />

fehlerhafte Konfigurationsdateien.<br />

Schwedische Gardinen<br />

Wer sich um die Sicherheit seines Webservers<br />

schert, kann alle Interpreter-<br />

Prozesse eines Pools in eine sogenannte<br />

Chroot-Umgebung stecken. Dazu genügt<br />

die Zeile:<br />

chroot = /mein/gefaengnis<br />

in der Konfigurationsdatei des Pools.<br />

Hinter dem Gleichheitszeichen steht der<br />

absolute Pfad, der dann für die Prozesse<br />

zum neuen Root-Verzeichnis wird – in<br />

diesem Beispiel »/mein/gefaengnis«.<br />

Den aktuellen Ges<strong>und</strong>heitszustand eines<br />

Pools kann man über eine spezielle<br />

Status-URL abfragen. Dazu ergänzt man<br />

in der Pool-Konfiguration (aus Listing 1)<br />

die Zeile:<br />

pm.status_path = /status<br />

Da<strong>mit</strong> erfährt man später unter »http://<br />

www.example.com/status« unter anderem,<br />

ob die Prozesse des Pools gerade<br />

laufen <strong>und</strong> wie viele Anfragen sie bereits<br />

beantwortet haben. Standardmäßig<br />

liefert PHP-FPM die Informationen als<br />

reinen Text zurück. Man kann sie sich<br />

aber auch in HTML oder XML verpacken<br />

lassen. Dazu hängt man einfach an die<br />

URL ein »?html« beziehungsweise »?xml«<br />

an. Mit der Zeile:<br />

ping.path = /ping<br />

kann man später unter »http://www.example.com/ping«<br />

schnell prüfen, ob der<br />

Pool läuft. In diesem Fall gibt PHP-FPM<br />

ein schlichtes »pong« zurück. Doch Vorsicht:<br />

Nach diesen Informationen lecken<br />

sich auch Angreifer die Finger. Man sollte<br />

die Funktion daher im produktiven Betrieb<br />

möglichst deaktiviert lassen oder<br />

zumindest den Zugriff durch den Webserver<br />

einschränken.<br />

Wenn ein Interpreter-Prozess zu lange<br />

an einem PHP-Script knabbert, beendet<br />

PHP-FPM ihn automatisch. Nach wie vielen<br />

Sek<strong>und</strong>en, legt in der Konfigurationsdatei<br />

»/etc/php5/fpm/php‐fpm.conf« die<br />

folgende Zeile fest:<br />

process_control_timeout = 10s<br />

Reagiert hier ein Prozess 10 Sek<strong>und</strong>en<br />

lang nicht, beendet PHP-FPM ihn automatisch.<br />

Auch hier gelten wieder die<br />

Abkürzungen »m« für Minuten, »h« für<br />

St<strong>und</strong>en <strong>und</strong> »d« für Tage.<br />

Parallelverarbeitung<br />

PHP-FPM stellt eine neue PHP-Funktion<br />

»fastcgi_finish_request()« bereit. Wie ihr<br />

Name schon andeutet, beendet sie die<br />

Anfrage, das Skript läuft hingegen im<br />

Hintergr<strong>und</strong> noch weiter. Ein Beispiel für<br />

ihren Praxiseinsatz zeigt Listing 3. »fastcgi_finish_request()«<br />

existiert allerdings<br />

nur in PHP-FPM, auf anderen PHP-Interpretern<br />

läuft das Skript nicht.<br />

Fazit<br />

PHP-FPM selbst erhöht die Sicherheit<br />

<strong>und</strong> skaliert gut, beschleunigt durch seine<br />

Arbeitsweise aber nicht automatisch die<br />

Auslieferungszeiten gegenüber dem herkömmlichen<br />

FastCGI-Interpreter. Die im<br />

Internet veröffentlichten beeindruckenden<br />

Zahlen vergleichen meist Apache 2<br />

inklusive »mod_php« <strong>mit</strong> einem schlanken<br />

Webserver wie Ngnix <strong>und</strong> PHP-FPM.<br />

Wer also die Antwortgeschwindigkeit<br />

insgesamt erhöhen möchte, muss noch<br />

weiter optimieren. (ofr)<br />

n<br />

Infos<br />

[1] FastCGI: [http:// www. fastcgi. com]<br />

[2] PHP-FPM: [http:// php‐fpm. org/]<br />

[3] PHP-FPM im PHP-Manual: [http:// php. net/​<br />

manual/ en/ install. fpm. php]<br />

[4] Mod-Fastcgi:<br />

[http:// www. fastcgi. com/ dist/]<br />

Der Autor<br />

Tim Schürmann ist selbstständiger Diplom-<br />

Informatiker <strong>und</strong> derzeit hauptsächlich als freier<br />

Autor unterwegs. Zu seinen Büchern gesellen<br />

sich zahlreiche Artikel, die in Zeitschriften <strong>und</strong><br />

auf Internetseiten in mehreren Ländern veröffentlicht<br />

wurden.<br />

ESET<br />

ENDPOINT<br />

LÖSUNGEN<br />

ITPROFIS VERTRAUEN<br />

AUF ESET.<br />

„Im Laufe der Jahre <strong>und</strong> Testreihen<br />

zeigte sich immer wieder, dass ESET<br />

leistungsfähige Sicherheitslösungen<br />

<strong>mit</strong> geringster Systembelastung<br />

entwickelt.“ (Andreas Clementi,<br />

Gründer <strong>und</strong> Vorsitzender bei AV-<br />

-Comparatives)<br />

Erstklassiger Schutz für Ihre<br />

Endpoints <strong>mit</strong> der mehrfach ausge-<br />

zeichneten Erkennungstechnologie,<br />

cloudbasiertem Scan, Webkontrolle<br />

<strong>und</strong> Remote Administration.<br />

www.eset.de<br />

www.admin-magazin.de<br />

Ausgabe 06-2012<br />

33

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!