GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So konfigurieren Sie Nginx für die Arbeit mit PHP über PHP-FPM

Diese Schritt-für-Schritt-Anleitung zeigt Ihnen, wie Sie Nginx installieren und konfigurieren, um PHP auf Ihrem Server mit PHP-FPM auszuführen.

Nginx + PHP ist eine der beliebtesten Softwaregruppen, die Sie zum Erstellen Ihrer Website verwenden können. Dieses Schritt-für-Schritt-Tutorial zeigt Ihnen, wie Sie Nginx installieren und konfigurieren, um PHP mit PHP-FPM auf Ihrem Server auszuführen.

Nginx ist die ideale Kombination mit PHP-FPM. Es ist ein stabiler Webserver, der für seine beeindruckende Leistung und seinen geringen Ressourcenverbrauch bekannt ist.

PHP wird als isolierter Dienst ausgeführt, wenn Sie PHP-FPM verwenden. Die Verwendung dieser PHP-Version als Sprachinterpreter bedeutet, dass Anfragen über einen UNIX-Socket verarbeitet werden. Der Nginx-Server verarbeitet nur HTTP-Anforderungen, während PHP-FPM den PHP-Code interpretiert.

1. Installieren von Nginx

Ubuntu / Debian

Da Nginx in den Standard-Repositories von Debian und Ubuntu verfügbar ist, ist die Installation aus diesen Repositories mit dem apt-Paketsystem möglich.

sudo apt install nginx

CentOS / AlmaLinux / Rocky Linux

Um die neueste Nginx-Version zu erhalten, müssen Benutzer von CentOS, AlmaLinux oder Rocky Linux zuerst das EPEL-Repository installieren.

EPEL (Extra Packages for Enterprise Linux) ist ein Open-Source- und kostenloses Community-basiertes Repository-Projekt des Fedora-Teams, das hochwertige Add-on-Softwarepakete für RHEL-basierte Linux-Distributionen bereitstellt.

sudo yum install epel-release

Dann können Sie den Nginx-Server installieren.

sudo yum install nginx

Fedora

Nginx ist in den standardmäßigen Fedora-Repositories verfügbar und kann direkt mit dnf installiert werden Paketmanager.

sudo dnf install nginx

2. Installation von PHP-FPM

Ubuntu / Debian

Um PHP unter Ubuntu oder Debian zu installieren, führen Sie einfach den folgenden Befehl aus:

sudo apt install php-fpm

CentOS

Die standardmäßig auf CentOS-Servern verfügbare PHP-Version ist veraltet. Aus diesem Grund müssen wir ein Paket-Repository eines Drittanbieters installieren, um PHP 7 zu erhalten.

CentOS 7

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

CentOS 8

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

3. Konfigurieren von NGINX zum Ausführen von PHP mit PHP-FPM

Sobald Nginx und PHP installiert sind, können wir Nginx so konfigurieren, dass PHP-Anforderungen an PHP-FPM gesendet werden.

Wir müssen eine Nginx-Serverblock-Konfigurationsdatei erstellen, um PHP mit FPM auszuführen. Danach können Sie einen neuen VirtualHost gemäß Ihren Anforderungen erstellen und jeden neuen VirtualHost aktivieren.

sudo vim /etc/nginx/sites-available/example.com

Ersetzen Sie example.com mit der Domain oder IP-Adresse Ihrer Website und dem root Direktive mit dem Stammverzeichnis Ihrer Website.

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm;
        server_name example.com;
 
        location / {
            try_files $uri $uri/ =404;
        }
 
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }
}

Speichern Sie Ihre Änderungen in der Konfigurationsdatei und erstellen Sie einen Link zum standortaktivierten Verzeichnis.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

Stellen Sie sicher, dass der Name der PHP-Socket-Datei (in unserem Fall php7.4-fpm.sock ) angegeben in fastcgi_pass Richtlinie ist richtig.

ls -l /var/run/php/
total 4
-rw-r--r-- 1 root     root      5 Dec  1 17:43 php7.4-fpm.pid
srw-rw---- 1 www-data www-data  0 Dec  1 17:43 php7.4-fpm.sock
lrwxrwxrwx 1 root     root     30 Dec  1 17:43 php-fpm.sock -> /etc/alternatives/php-fpm.sock

Wenn sich der Name von php7.4-fpm.sock unterscheidet , ersetzen Sie es einfach im oben angezeigten Serverblock durch das aktuelle von Ihrem Server.

Starten Sie dann den Nginx-Dienst neu, um die Änderungen neu zu laden.

sudo systemctl restart nginx.service

4. Testen der Einrichtung

Erstellen Sie eine Test-PHP-Datei, um zu überprüfen, ob PHP-FPM funktioniert und in Nginx integriert ist. Im obigen Server-Block wird unsere Website von /var/www/html bereitgestellt , also erstellen wir dort eine Testdatei:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Greifen Sie schließlich auf info.php zu von einem Webbrowser unter Verwendung der Domain Ihrer Website oder der IP-Adresse Ihres Servers. Sie sollten die PHP-Konfigurationsseite sehen:

Fazit

Herzliche Glückwünsche! Sie haben Nginx eingerichtet, um PHP-Anfragen über PHP-FPM zu verarbeiten.

Es gibt einige nächste Schritte, die Sie von hier aus unternehmen könnten. Beispielsweise sollten Sie sicherstellen, dass Verbindungen zu Ihrem Server gesichert sind. Aber wie geht das?

Folgen Sie unserer Schritt-für-Schritt-Anleitung, um ein kostenloses SSL-Zertifikat von Let’s Encrypt für Ihren Server zu erwerben.


Linux
  1. So konfigurieren Sie Ursprungs-Cloudflare-SSL mit Nginx

  2. Wie konfiguriere ich Remote-Protokollserver mit rsyslog?

  3. So aktivieren Sie Nginx mit PHP-FPM auf Plesk

  4. Wie führe ich mehrere PHP-Versionen mit Nginx unter Ubuntu aus?

  5. So installieren Sie PHP-FPM mit Apache unter Ubuntu 20.04

So konfigurieren Sie Nginx mit SSL

So installieren Sie Nginx mit PHP-FPM unter Debian 11

So konfigurieren Sie PHP-FPM mit NGINX

So konfigurieren Sie Load Balancing mit NGINX in Jelastic Cloud

So installieren und konfigurieren Sie NGINX und PHP auf Jelastic Cloud

So installieren und konfigurieren Sie Memcached mit Apache und PHP