Nginx wird als „Engine-X“ ausgesprochen, was ein Webserver und Reverse-Proxy-Server ist. Nginx ist bekannt für seine Geschwindigkeit und Fähigkeit, eine große Anzahl von Anfragen gleichzeitig mit optimaler Ressourcennutzung zu bearbeiten.
PHP-FPM steht für „PHP-FastCGI-Prozessmanager“. CGI bezieht sich auf die gemeinsame Gateway-Schnittstelle, die so geschrieben ist, dass sie als Schnittstelle zwischen dem Webserver und Programmen zur Bereitstellung dynamischer Inhalte fungiert. Es lauscht auf einem Port, ähnlich wie es der Webserver selbst tut, und leitet die Anfrage zwischen PHP und dem Webserver weiter.
Dieses Tutorial enthält Anweisungen zur Installation und Konfiguration von Nginx mit PHP-FPM, die Ihnen helfen, PHP-Programme in Nginx auszuführen.
Wie wir bereits in Apache vs. Nginx besprochen haben, im Vergleich zu Nginx, Apache ist relativ langsam, während es mit hoher Last umgeht und eine große Anzahl von Anfragen verarbeitet.
1. Installieren Sie Nginx
Sie können Nginx entweder von der Quelle installieren oder es mit dem Paketverwaltungstool installieren, das mit Ihrer Distribution geliefert wird.
Unter Ubuntu können Sie beispielsweise nginx mit apt-get wie unten gezeigt installieren.
$ sudo apt-get install nginx
Starten Sie den Nginx-Server wie unten gezeigt:
$ sudo service nginx start
Gehen Sie zu http://{Ihre-IP-Adresse} und vergewissern Sie sich, dass Sie die Willkommensseite von Nginx sehen.
2. Installieren Sie PHP5-FPM
Installieren Sie als Nächstes php5-fpm mit dem Paketverwaltungstool, das mit Ihrer Distribution geliefert wird.
Unter Ubuntu können Sie beispielsweise php5-fpm mit apt-get wie unten gezeigt installieren.
$ sudo apt-get install php5-fpm
3. PHP-Konfiguration zu Nginx hinzufügen
Ändern Sie als Nächstes die Datei /etc/nginx/sites-available/default und fügen Sie die folgenden Zeilen hinzu.
$ sudo vi /etc/nginx/sites-available/default server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
4. Listen-Parameter in php5-fpm www.conf
setzenAls nächstes müssen wir die folgenden Änderungen in der php-frpm-Konfiguration vornehmen.
Standardmäßig sehen Sie den folgenden listen-Eintrag in der www.conf-Datei
$ sudo vi /etc/php5/fpm/pool.d/www.conf listen = 127.0.0.1:9000
Belassen Sie in der Datei www.conf alles, wie es ist, und ersetzen Sie die obige listen-Zeile durch die unten gezeigte.
$ sudo vi /etc/php5/fpm/pool.d/www.conf listen = /var/run/php5-fpm.sock
5. Starten Sie Nginx und PHP5-FPM neu und testen Sie es
Starten Sie php5-fpm und nginx wie unten gezeigt neu
$ sudo service nginx restart $ sudo service php5-fpm restart
Erstellen Sie schließlich die folgende index.php-Datei im nginx-Dokumentenstamm und testen Sie sie.
$ sudo vi /usr/share/nginx/www <?php phpinfo( ); ?>
Öffnen Sie schließlich Ihren Browser und gehen Sie zu http://localhost/index.php (oder verwenden Sie Ihre IP-Adresse), wodurch die Datei index.php ausgeführt und die PHP-Informationen angezeigt werden.