Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung des Funktionsprinzips von Nginx+Php-fpm
1. Benutzerzugriffsprozess auf die dynamische PHP-Webseite
Schritt 1: Der Benutzer sendet eine http-Anfrage an den Nginx-Server. Schritt 2: Nginx beurteilt die Anfrage anhand der vom Benutzer besuchten URI und des Suffix. Schritt 3: Wie zu sehen ist Ab dem zweiten Schritt: Wenn der Benutzer dynamische Inhalte anfordert, übergibt Nginx die Anforderung an den Fastcgi-Client und sendet die Anforderung des Benutzers über Fastcgi_pass an PHP-FPM. Wenn der Benutzer auf statische Ressourcen zugreift, überträgt Nginx die statischen Ressourcen einfach Vom Benutzer angeforderter Inhalt. Die Ressource wird an den Benutzer zurückgegeben.
Schritt 4: Nachdem der Wrapper die von PHP-FPM übertragene Anfrage erhalten hat, generiert der Wrapper einen neuen Thread, um den PHP-Server für die dynamische Programmanalyse aufzurufen.
Schritt 5: PHP gibt die Abfrageergebnisse an Nginx zurück Nachricht. Geben Sie die Ergebnisse an den Benutzer zurück Prozess jedes Mal, wenn eine Anfrage eingeht. Der CGI-Interpreter-Prozess muss nicht mehr jedes Mal, wenn er eine Webserver-Anfrage empfängt, die Datei php.ini neu laden und die Ausführungsumgebung initialisieren. PHP-FPM-Prozessmanager: PHP-FPM ist eine Implementierung von Das Fastcgi-Protokoll ist ein Prozessmanager. Es umfasst zwei Teile: Master- und Worker-Prozesse beim Start. Der Master-Prozess ist für die Verwaltung des Worker-Prozesses verantwortlich. Es gibt im Allgemeinen mehrere Worker-Prozesse, die zum Abhören von Ports und zum Empfangen von Anforderungen verwendet werden Webserver und jeder Arbeitsprozess verfügt über einen CGI-Prozessinterpreter zum Ausführen von PHP-Code
Was sind die fünfschichtigen Protokolle von TCP?
1. Der Client sendet ein Verbindungsanforderungssegment mit SYN auf 1 und wählt dann eine Startsequenznummer seq=x
2 aus. Nachdem der Server das Anforderungssegment empfangen hat, sendet er es an den Client Der Client sendet ein Bestätigungsnachrichtensegment, in dem SYN und ACK auf 1 gesetzt sind, das Bestätigungsnummernfeld x+1 ist und eine Startsequenznummer seq=y
3 generiert wird. Es muss dann auch ein Bestätigungsnachrichtensegment an den Server senden, in dem ACK auf 1 gesetzt ist, das Bestätigungsnummernfeld y+1 und das Sequenznummernfeld x+1 ist. Hinweis: SYN ist die Synchronisationssequenznummer , und ACK ist die Bestätigungssequenznummermarkierung
nginx empfängt die Anfrage, sucht die PHP-Datei, auf die zugegriffen werden soll, anhand des Überwachungsports, stellt über den Socket eine Verbindung mit einem der residenten Speicher-Fast-CGI-Programme her und leitet sie weiter Empfangene Daten an Fast-CGI. PHP-FPM verwaltet den Fast-CGI-Prozess und hängt ihn dann erneut ab. Fast-CGI führt das PHP-Programm aus und gibt es nach Abschluss der Datenerfassung über die Verbindung an Nginx zurück Benutzer-Client.
Was ist der Unterschied zwischen Cookie und Sitzung?
2. Andere können lokale Cookies analysieren, um Cookie-Spoofing durchzuführen. Berücksichtigen Sie beim Anwenden von Sitzungen die Speicherkapazität eines einzelnen Cookies , beim Surfen Der Server hat keine Einschränkungen für Sitzungen
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Funktionsprinzips von Nginx+Php-fpm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!