Heim >Backend-Entwicklung >PHP-Problem >Unterstützt Nginx PHP?
FastCGI (Fast Common Gateway Interface) ist eine skalierbare Hochgeschwindigkeitsschnittstelle (oder ein Protokoll) für die Kommunikation zwischen HTTP-Server und dynamischer Skriptsprache.
Nginx + FastCGI-Funktionsprinzip (Empfohlenes Lernen: PHP-Video-Tutorial)
Nginx unterstützt keinen direkten Aufruf oder Parsing externer Programme. Alle Programme (einschließlich PHP) müssen über FastCGI- und uwsig-Schnittstellen aufgerufen werden.
FastCGI-Schnittstelle ruft Socket unter Linux auf (Unix-Sockt- oder IP:Port-Format). Um ein CGI-Programm aufzurufen, wird außerdem ein FastCGI-Wrapper benötigt. Der Wrapper ist an einen festen Socket gebunden, beispielsweise an einen Port oder einen Datei-Socket.
Wenn Nginx über die FastCGI-Schnittstelle eine CGI-Anfrage an diesen Socket sendet, empfängt der Wrapper die Anfrage und erzeugt dann einen neuen Thread. Dieser Thread ruft den Interpreter oder ein externes Programm auf, um das Skript zu verarbeiten und die Rückgabedaten zu lesen ;Dann leitet der Wrapper die zurückgegebenen Daten über die FastCGI-Schnittstelle und entlang des festen Sockets weiter.
Schließlich sendet Nginx die zurückgegebenen Daten an den Client.
PHP-FPM
Der FastCGI-Schnittstellenmodus startet einen oder mehrere Daemon-Prozesse auf dem Skript-Parsing-Server, um dynamische Skripte zu analysieren Motor.
PHP-FPM ist die FastCGI-Engine, die PHP unterstützt. PHP-FPM ist ein FastCGI-Prozessmanager eines Drittanbieters, der als Patch für PHP entwickelt wurde und daher während der Installation zusammen mit dem PHP-Quellcode kompiliert werden muss, was bedeutet, dass PHP-FPM in den PHP-Kernel kompiliert wird.
Der Hauptvorteil von FastCGI besteht darin, dynamische Sprachen vom HTTP-Server zu trennen, sodass Nginx und PHP/PHP-FPM häufig auf verschiedenen Servern bereitgestellt werden, um den Druck auf den Front-End-Nginx-Server zu verteilen Machen Sie Nginx dediziert. Verarbeitet statische Anfragen und leitet dynamische Anfragen weiter, während der PHP/PHP-FPM-Server auf das Parsen dynamischer PHP-Anfragen spezialisiert ist.
Das obige ist der detaillierte Inhalt vonUnterstützt Nginx PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!