Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung des Funktionsprinzips von Nginx+Php-fpm

Detaillierte Erläuterung des Funktionsprinzips von Nginx+Php-fpm

移动用户-8334543
移动用户-8334543Original
2022-06-16 16:43:47171Durchsuche

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?

Anwendungsschicht, Transportschicht, Netzwerkschicht, Datenverbindungsschicht, physikalische Schicht


Sprechen Sie über TCP-Drei-Wege-Handshake?

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?

1. Cookies werden im Browser gespeichert und Sitzungen werden auf dem Server gespeichert


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!

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