· Software  · 3 min Lesezeit

nginx unter Debian installieren - PHP

PHP auf nginx installieren und konfigurieren - auf einem Debian-System.

Im ersten Artikel über die Installation von nginx unter Debian haben wir den nginx Webserver erfolgreich installiert und können nun statische Dateien auf dem Webserver speichern. Dieser Artikel setzt nun da an, wo der erste Artikel endete - Mit der Einrichtung von PHP unter nginx, damit Webanwendung wie Wordpress installiert werden können.

Voraussetzungen

D__ies ist der zweite Teil des Tutorials um nginx. Ich setze folgenden Artikel als gelesen und umgesetzt voraus:

  1. nginx auf Debian installieren / nginx auf Ubuntu installieren

Wir fangen damit an, PHP auf unserem nginx Webserver zu installieren. Das gestaltet sich denkbar einfach, denn wir haben im ersten Teil ja bereits das dotdeb.org - Paketverzeichnis benutzt, um nginx zu installieren - und über eben dieses Paketverzeichnis können wir auch PHP installieren. Wir verbinden uns wieder mit unserem SSH-Client oder Terminal und führen folgenden Befehl aus, um PHP zu installieren: apt-get install php5-fpm Dadurch wird das Paket PHP5-FPM aus dem dotdeb.org - Paketverzeichnis heruntergeladen und installiert. Was ist PHP5-FPM? PHP5-FPM ist die Implementierung von PHP, die wir zusammen mit nginx verwenden. PHP5-FPM steht dabei für PHP5 - FastCGI-Process-Manager und ist grob gesagt ein eigener Dienst neben nginx, der auf einem anderen Port läuft. Mit folgendem Befehl müssen wir den PHP-Prozess starten: /etc/init.d/php5-fpm restart Im folgenden richten wir PHP5-FPM so ein, dass er die PHP-Dateien für nginx bearbeitet.

nginx für PHP anpassen

Jetzt müssen wir nginx noch so konfigurieren, dass es alle angeforderten PHP-Dateien an PHP5-FPM weiterleitet. Dazu öffnen wir die /etc/nginx/sites-available/default: nano /etc/nginx/sites-available/default und suchen folgende Stelle:

# location ~ .php$ {
# fastcgi_split_path_info ^(.+.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
# }

Nun passen wir diese Stelle folgendermaßen an:

location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

Nun sagen wir nginx, dass er nun die index.php - Dateien standartmäßig aufruft, wenn ein Verzeichnis aufgerufen wird. Dazu ändern wir in der selben Datei

root /usr/share/nginx/www;
index index.html index.htm;

zu

root /usr/share/nginx/www;
index index.php;

Das war’s schon. Jetzt speichern wir die Datei mit STRG + O und laden die Konfiguration von nginx mit folgendem Befehl neu: /etc/init.d/nginx force-reload Der Befehl hat verglichen mit den Befehl, nginx neuzustarten (/etc/init.d/nginx restart) den Vorteil, dass der Webserver nicht ganz neugestartet wird und somit auch kein Ausfall durch das stoppen, herunterfahren und starten vorhanden ist. Wenn allerdings ein Fehler beim Konfigurieren gemacht wird, funktioniert nginx auch nach einem force-reload nicht mehr. Deshalb sollte man alle Änderungen kleinschrittig vornehmen, damit man direkt weiß, was man falsch gemacht hat.

Testen, ob PHP erfolgreich installiert ist

Um zu überprüfen, ob PHP tatsächlich installiert ist, erstellen wir testweise eine index.php - Datei in dem Ordner /usr/share/nginx/www/. Das machen wir mit folgendem Befehl: nano /usr/share/nginx/www/index.php Nun öffnet sich eine leere Datei. Wir tragen folgendes ein: <?php phpinfo(); ?> Wir speichern die Datei mit STRG + O und rufen unsere Domain, unsere IP - Adresse oder unseren Hostname auf. Falls nun so etwas erscheint: Habt ihr alles richtig gemacht. Falls Ihr eine weiße Seite mit einer Fehlermeldung erhaltet, habt ihr etwas falsch gemacht. Du kannst nun weitermachen, und Wordpress auf nginx installieren! Schreibt in den Kommentaren, damit ich euch helfen kann!

Codeschnipsel:

Nginx - stoppen:

/etc/init.d/nginx stop

Nginx - starten:

/etc/init.d/nginx start

Nginx - Neustarten:

/etc/init.d/nginx restart

Nginx - Config-Dateien neuladen:

/etc/init.d/nginx force-reload

PHP-FPM:
Starten:

/etc/init.d/php5-fpm start

Stoppen:

/etc/init.d/php5-fpm stop

Neustarten:

/etc/init.d/php5-fpm restart

Teilen auf
Zurück zum Blog

Weitere Blog-Posts

Alle Blog-Posts anzeigen »

nginx auf Debian 7 installieren

nginx ist eine attraktive Alternative zum Apache-Webserver - in richtiger Konfiguration glänzt nginx nicht nur auf kleineren Servern. **Im nachfolgenden erläutere ich die Schritte für die Installation von nginx auf Debian 7 (wheezy).

PHP 5.4.9 erschienen

PHP 5.4.9 ist vor einigen Tagen erschienen und ist nun auch im dotdeb.org - Paketverzeichnis verfügbar. Die neuste Version von PHP bringt aber nur Bugfixes.