Nginx 1.4.x auf Unix Systemen
Diese Dokumentation deckt die Installation und Konfiguration von PHP mit
PHP-FPM für ein Nginx 1.4.x HTTP Server ab.
Diese Anleitung setzt voraus, dass Sie Nginx aus dem Quelltext erstellt haben
und dadurch alle Binaries haben und die Konfigurations Dateien in
/usr/local/nginx abgelegt sind. Wenn dies nicht der Fall ist
und Sie Nginx über eine andere Quelle bezogen haben, dann
sehen Sie bitte unter » Nginx Wiki nach,
um dieses Manual für Ihre Installation zu übersetzen.
Diese Anleitung wird die Basics der Konfiguration eines Nginx Servers abdecken,
um PHP Applikationen auszuführen und unter Port 80 bereitzustellen. Eine Studie
der Nginx und PHP-FPM Dokumentation ist Voraussetzung für eine optimale Installation,
die auch über den Umfang dieser Dokumentation hinaus geht.
Hinweis: In dieser Dokumentation wurden Versionsnummern durchgehend mit
einem 'x' ersetzt. Dies stellt sicher, dass die Dokumentation auch für künftige
Versionen richtig bleibt. Bitte ersetzen Sie diese soweit notwendig mit Ihrer
entstprechenden Version.
-
Voraussetzung ist, dass Sie im Nginx Wiki die
» Installations Seite
besuchen, um Nginx für Ihr System zu erhalten und zu installieren.
-
Erhalten und entpacken der PHP-Quelle:
-
Konfigurieren und erstellen von PHP. Dies ist die Stelle, an der Sie
Ihre PHP Installation individuell mit verschiedenen Optionen anpassen.
Sowas wie: welche Erweiterung (extension) aktiviert (enabled) wird.
Führen Sie ./configure --help für eine Liste der verfügbaren Optionen aus.
In unserem Beispiel werden wir eine einfache Konfiguration mit PHP-FPM and MySQL
Unterstützung durchführen.
cd ../php-x.x.x
./configure --enable-fpm --with-mysql
make
sudo make install
-
Erhalten und verschieben von Konfigurationsdateien an die richtige Stelle
-
Es ist wichtig, dass wir Nginx daran hindern Anfragen an das PHP-FPM Backend
zu leiten, wenn die Datei nicht existiert. Dies erlaubt uns willkürliche Skript
Eingaben (script injection) zu verhindern.
Wir können dies durch eine Einstellung beheben, indem wir innerhalb unserer php.ini Datei
die cgi.fix_pathinfo
Direktive auf 0 setzen.
Einlesen der php.ini:
Positionieren auf cgi.fix_pathinfo= und wie folgt modifizieren:
-
php-fpm.conf muss angepasst werden, damit php-fpm als User www-data
und Gruppe www-data ausgeführt wird, bevor wir es Service starten können:
vim /usr/local/etc/php-fpm.conf
Finden und modifizieren Sie folgendes:
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = www-data
group = www-data
Der php-fpm Service kann wie folgt gestartet werden:
Diese Anleitung wird nicht weiter auf die php-fpm Konfiguration eingehen. Wenn Sie
weiteres Interesse an der php-fpm Konfiguration haben, dann ziehen Sie bitte die
entsprechende Dokumentation heran.
-
Nginx muss jetzt konfiguriert werden, um PHP Applikationen ablaufen zu lassen:
Modifizieren Sie den Bereich voreingestellte Positionen, um zu gewährleisten,
dass .php Dateien verarbeitet werden:
Der nächste Schritt soll sicherstellen, dass .php Dateien an
des PHP-FPM Backend geleitet werden. Sternen Sie die kommentierten
Bereich aus und geben Sie folgendes ein:
Neustart von Nginx.
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
-
Erstellen einer Test Datei
rm /usr/local/nginx/html/index.html
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
Nun navigieren Sie zu http://localhost. Die Funktion phpinfo() sollte nun angezeigt werden.
Folgen Sie den obigen Schritten und Sie werden ein laufenden Nginx Web-Server
mit Unterstützung für PHP als ein SAPI Modul erhalten.
Natürlich sind noch viel mehr Konfigurations-Einstellungen für Nginx und PHP verfügbar.
Für weitere Informationen geben Sie ./configure --help im entsprechenden
Quellpfad ein.