Die Verwendung von nginx+php als Webserver-Architekturmodell ist heutzutage weit verbreitet. Der erste Schritt, der jedoch realisiert werden muss, besteht darin, Nginx dazu zu bringen, PHP korrekt aufzurufen. Da der Aufruf von PHP durch Nginx nicht so einfach ist wie der Aufruf einer statischen Datei, erfordert er eine dynamische Ausführung des PHP-Skripts. Es geht also um die Konfiguration der Datei nginx.conf. Für Anfänger erfordert dieser Schritt im Allgemeinen eine Online-Informationssuche. Für normale Veteranen verstehen viele Studenten nicht, warum eine solche Konfiguration erforderlich ist. Der Hauptinhalt dieses Artikels ist die korrekte Konfiguration der PHP-Aufrufmethode im Nginx-Server und die Grundprinzipien der Konfiguration.
1. Das Funktionsprinzip von Nginx+PHP:
Lassen Sie uns zunächst kurz über das Funktionsprinzip von Nginx+PHP sprechen :
1. Der Nginx-Workerprozess verwaltet jede Netzwerkanfrage an Nginx direkt.
2. Da PHP im gesamten Netzwerkanforderungsprozess die Rolle eines CGI-Programms spielt, wird ein Prozessverwaltungsprogramm namens php-fpm zur Verwaltung dieser angeforderten PHP-Programme verwendet. Das PHP-FPM-Programm muss wie Nginx den Port abhören und über Master- und Worker-Prozesse verfügen. Der Worker-Prozess verwaltet jeden PHP-Prozess direkt.
3. Über fastcgi: fastcgi ist ein Prozessmanager, der CGI-Prozesse verwaltet. Es gibt viele Prozessmanager auf dem Markt, die Fastcgi-Funktionen implementieren, und PHP-FPM ist einer davon. Eine weitere Sache: PHP-FPM überwacht als Fast-CGI-Prozessverwaltungsdienst den Port. Im Allgemeinen überwacht es standardmäßig Port 9000 und überwacht den lokalen Computer, dh es empfängt nur Portanforderungen von lokale Maschine, daher geben wir normalerweise den Befehl netstat -nlpt|grep ein. php-fpm erhält:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* 🎜>
The 127.0.0.1:9000 Hier wird die Bedeutung von Port 9000 dieser Maschine überwacht. 4. Was Fastcgi-Konfigurationsdateien betrifft, werden sie derzeit im Allgemeinen im selben Verzeichnis wie nginx.conf abgelegt. Es gibt im Allgemeinen zwei Arten von Konfigurationsdateien: fastcgi.conf und fastcgi_params. Verschiedene Nginx-Versionen haben unterschiedliche Konfigurationsdateien. Es gibt einen sehr wichtigen Unterschied zwischen diesen beiden Konfigurationsdateien: Die folgende Konfiguration fehlt in der Datei fastcgi_parames: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; us Sie können die Datei fastcgi_parames öffnen und die obige Zeile hinzufügen oder sie dynamisch an der Stelle hinzufügen, an der Sie die Konfiguration verwenden möchten. Sorgen Sie dafür, dass diese Konfiguration wirksam wird. 5. Wenn eine PHP-Anfrage verarbeitet werden muss, übergibt der Worker-Prozess von Nginx die Anfrage zur Verarbeitung an den Worker-Prozess von PHP-FPM. Das heißt, Nginx ruft PHP zu Beginn auf. Genau genommen ist es tatsächlich so, dass Nginx PHP indirekt aufruft. Nachdem Sie die oben genannten fünf einfachen Prinzipien verstanden haben, wird die Konfiguration der PHP-Aufrufmethode in Nginx einfach.2. Konfigurationsdatei:
Fügen Sie den Code direkt Zeile für Zeile ein. Hier ist die einfachste Nginx-Vhost-Konfiguration, mit der das PHP-Skript normal gestartet werden kann:server { listen 8011; server_name test.cn; location ~ \.php?.*$ { root /share/test; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
3. Zusammenfassung:
Tatsächlich für den Aufruf von CGI-Skripten wie PHP, solange Sie die 5 Prinzipien verstehen, die ich am Anfang erwähnt habe, und sie dann kombinieren Zeilen 5-7 Anhand der Konfigurationserklärung können Sie klar verstehen, warum Sie es auf diese Weise konfigurieren müssen. Für Anfänger sind sie oft verwirrt von den CGI-Programmen fastcgi und php-fpm. Sie konfigurieren sie nach dem Zufallsprinzip und führen sie online aus, ohne sich mit ihren Prinzipien zu befassen. Daher hoffe ich, dass das, was ich hier schreibe, den Lesern etwas helfen kann.