Heim >Backend-Entwicklung >PHP-Tutorial >Wie verwende ich Nginx mit PHP-Programmierung?

Wie verwende ich Nginx mit PHP-Programmierung?

WBOY
WBOYOriginal
2023-06-12 11:07:401780Durchsuche

Die Verwendung von Nginx in der PHP-Programmierung ist eine sehr häufige Anforderung, da Nginx eine leistungsstarke Webserver- und Reverse-Proxy-Server-Software ist, die uns dabei helfen kann, Anfragen, Antworten und Lastausgleich effizienter zu verarbeiten. In diesem Artikel wird die Verwendung von Nginx in der PHP-Programmierung vorgestellt.

Schritt 1: Nginx-Server installieren und konfigurieren

Zuerst müssen wir den Nginx-Server installieren und konfigurieren. Auf Linux-Systemen können Sie Nginx über den Paketmanager installieren. Verwenden Sie beispielsweise den apt-get-Befehl unter Ubuntu:

sudo apt-get update
sudo apt-get install nginx

Sobald die Installation abgeschlossen ist, können Sie den Nginx-Server starten:

sudo service nginx start

Jetzt müssen wir den Nginx-Server für die Verarbeitung von PHP-Skripten konfigurieren. Verwenden Sie in Nginx FastCGI, um PHP-Skripte zu verarbeiten. Sie müssen FastCGI Process Manager (FPM) installieren, um PHP-Skripte verarbeiten zu können.

In Ubuntu können Sie zur Installation den folgenden Befehl verwenden:

sudo apt-get install php-fpm

Nachdem die Installation abgeschlossen ist, müssen Sie die Konfigurationsdatei von Nginx bearbeiten, um FastCGI mit PHP-FPM zu verbinden.

In Ubuntu können Sie den /etc/nginx/sites-available/default文件,然后在server-Block bearbeiten, um die folgenden Konfigurationselemente hinzuzufügen:

location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Als nächstes starten Sie den Nginx-Server neu, um diese Änderungen zu übernehmen:

sudo service nginx restart

Jetzt ist Ihr Nginx-Server konfiguriert und bereit, PHP-Skripte zu verarbeiten.

Schritt 2: Verwenden Sie PHP-FPM und Nginx, um dynamische Inhalte zu verarbeiten

Um dynamische Inhalte zu verarbeiten, können wir PHP-FPM und Nginx zur Zusammenarbeit verwenden. PHP-FPM ist ein FastCGI-Prozessmanager, der als Backend-Dienst in Nginx eingerichtet werden kann. In diesem Setup sendet Nginx eine Anfrage an PHP-FPM und erhält eine Antwort.

Fügen Sie die folgende Konfiguration in der Nginx-Konfigurationsdatei hinzu:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

In dieser Konfiguration gibt die fastcgi_pass-Direktive den Speicherort des Backend-PHP-Prozessors an. Es verweist auf eine Unix-Socket-Datei, die die Adresse ist, auf die der PHP-FPM-Server lauscht.

Schritt 3: Statische Inhalte mit PHP und Nginx verarbeiten

Um statische Inhalte zu verarbeiten, können wir die Datei einfach direkt an Nginx bereitstellen. Beispielsweise können wir die folgende Konfiguration für statische HTML-Dateien, CSS-Stylesheets und JavaScript-Dateien erstellen:

location / {
   root /var/www/;
   index index.html index.htm;
}

location /css/ {
   root /var/www/;
   expires 1h;
}

location /js/ {
   root /var/www/;
   expires 1h;
}

In dieser Konfiguration definieren wir das Stammverzeichnis (root), das angibt, wo alle Dateien zu finden sind. Das Ablaufdatum für statische Dateien (HTML, CSS und JavaScript) ist auf 1 Stunde festgelegt, um eine effiziente Nutzung des Browser-Cache sicherzustellen.

Schritt 4: PHP-Anwendung mit Reverse-Proxy ausführen

Wenn Sie eine PHP-Anwendung ausführen möchten, können Sie Nginx im Reverse-Proxy-Modus konfigurieren. Im Reverse-Proxy-Modus sendet Nginx im Namen des Clients Anfragen an PHP-Anwendungen. Dieser Code kann das Reverse-Proxy-Muster sehr gut demonstrieren:

server {
    listen       80;
    server_name  www.example.com;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

In diesem Code richten wir den virtuellen Host auf Nginx ein und konfigurieren dann den Reverse-Proxy im Standortblock. Die Proxy_pass-Direktive gibt den Backend-Speicherort der PHP-Anwendung an. Dieser Backend-Speicherort kann den lokalen HTTP-Port (8000) verwenden.

Fazit

Wenn Sie Nginx zur Verarbeitung dynamischer und statischer Inhalte verwenden, können Sie nicht nur die Leistung verbessern, sondern auch die Skalierbarkeit und Sicherheit verbessern. Darüber hinaus ermöglicht die Verwendung des Reverse-Proxys von Nginx eine einfachere Konfiguration und Bereitstellung sowie die Möglichkeit, Anwendungen sicher zu skalieren.

In diesem Artikel behandeln wir die Installation und Konfiguration eines Nginx-Servers, die Verwendung von PHP-FPM und Nginx zur Verarbeitung dynamischer und statischer Inhalte sowie die Verwendung eines Reverse-Proxys zur Ausführung von PHP-Anwendungen. Damit können Sie Nginx mit PHP-Programmierung verwenden.

Das obige ist der detaillierte Inhalt vonWie verwende ich Nginx mit PHP-Programmierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn