Eine kurze Diskussion über fastcgi und php-fpm in PHP
Dieser Artikel gibt Ihnen eine kurze Einführung in fastcgi und php-fpm in PHP. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Wenn es um PHP-Entwicklung geht, werden fastcgi und php-fpm auf jeden Fall erwähnt. Diese beiden Dinge spielen eine entscheidende Rolle für die Leistung von PHP. Während meines Praktikums bei Baidu wurde PHP-FPM als ODP-Umgebung verwendet, aber ich hatte keine Ahnung davon und hatte sogar eine vage Vorstellung von PHP als Ganzes. Die Aufgabe wurde in den letzten zwei Tagen vorzeitig abgeschlossen nutzte diese Gelegenheit, um mehr über PHP zu erfahren.
Webserver
PHP ist eine serverseitige Sprache, die speziell für die Webentwicklung entwickelt wurde. Zu den gängigen PHP-Architekturen gehören LAMP und LNMP.
Apache verarbeitet PHP-Anfragen
mod_php-Modus
Es ist ersichtlich, dass die Anfrage an Apache gesendet wird und Apache dann PHP analysiert und verarbeitet und das Ergebnis an den Client zurückgibt. Wenn wir die LAMP-Architektur verwenden, müssen wir die Apache-Konfigurationsdatei httpd.conf
加入如下两句 LoadModule phpx_module PHP_ROOT/phpxapache2_2.dllAddType appliaction/x-httpd-php.php 将下面语句做如下修改<IfModule dir_module> DirectoryIndex index.html</IfModule>改为 <IfModule dir_module> DirectoryIndex index.html index.htm index.php index.phtml</IfModule>
ändern und LoadModule verwenden, um phpx_module zu laden (x ist die PHP-Versionsnummer). Es versteht sich, dass PHP als Untermodul von Apache ausgeführt wird. Wenn eine Anfrage für den Zugriff auf PHP gestellt wird, ruft Apache phpx_module auf, um den PHP-Code zu analysieren.
Wie analysiert php_module PHP-Code? - Über Sapi.
Die Beziehung zwischen Apache, PHP und Sapi ist wie folgt:
Sapi ist eine Zwischenschicht, die eine Schnittstelle für externe Kommunikation bereitstellt, ähnlich einem Socket, sodass PHP mit anderen Anwendungen für Daten interagieren kann. PHP bietet eine Vielzahl von Sapi, z. B. php_module für Apache und Nginx, ISAPI für IIS usw.
Der Ausführungsprozess von Apache, der PHP aufruft:
Apache -> php_module -> sapi -> PHP
Kurz gesagt, der Modus, in dem der Webserver PHP über die php_module-Methode analysiert ist mod_php.
mod_fastcgi-Modus
Eine andere Möglichkeit von PHPs Sapi besteht darin, den CGI-Modus bereitzustellen. Jetzt wurde CGI durch FastCGI ersetzt.
Die sogenannte CGI ist eine gemeinsame Gateway-Schnittstelle. Wenn der Webserver die Anfrage empfängt, übergibt er sie an das CGI-Programm (z. B. PHPs Fastcgi verarbeitet die Anfrage (parst PHP) und gibt sie dann zurück Ergebnis an den Webserver, der Webserver sendet die Anfrage dann an den Client zurück.
Der Nachteil von CGI besteht darin, dass jede Anfrage einen Start- und Beendigungsprozess hat. Dies ist der viel kritisierte Fork-and-Execute-Modus, der bei einer großen Anzahl gleichzeitiger Anfragen beendet wird.
Die Geburt von fastcgi gleicht diesen Mangel aus. Sein Prinzip besteht darin, frühzeitig auf Anfragen zu warten und nach der Beantwortung der Anfrage nicht zu beenden und weiter auf die nächste Anfrage zu warten.
Der Laufmodus, der fastcgi verwendet, heißt mod_fastcgi.
Vergleichen Sie die Unterschiede zwischen mod_php und mod_fastcgi. Ersteres führt PHP als Modul des Webservers aus und PHP ist stark in den Server integriert. Letzterer verwendet fastcgi als Zwischenprozess, während PHP und Webserver fastcgi nur zum Vervollständigen von Anforderungen und Antworten verwenden.
mod_php-Modus
mod_php-Modus: Jedes Mal, wenn Apache eine Anfrage akzeptiert, generiert er einen Prozess zum Herstellen einer Verbindung zu PHP, um die Anfrage über Sapi abzuschließen. Bei hoher Parallelität ist dies offensichtlich nicht der Fall in der Lage, es zu ertragen.
mod-fastcgi-Modus
Wie auf diesem Bild zu sehen ist, ruft httpd bei jedem Eintreffen einer Anfrage sapi auf, um die Anfrage an PHP weiterzuleiten, und wird nach Abschluss nicht beendet und auf die nächste Anfrage warten. Die Parallelitätsleistung wird erheblich verbessert.
php-fpm
Schärfen Sie das Messer und hacken Sie Holz. Die vorherige Erklärung dient nur der Einführung von php-fpm. Was macht PHP-FPM? Tatsächlich wird es zur Unterstützung von Fastcgi verwendet.
fastcgi ist eine plattformunabhängige und sprachunabhängige Schnittstellenimplementierung. Sie muss lediglich in verschiedenen Sprachen gemäß den vorgeschriebenen Methoden implementiert werden, um die Kommunikation mit dem Webserver abzuschließen. Das im Bild oben gezeigte PHP-CGI ist der FastCGI-Manager, der mit PHP geliefert wird.
Es gibt zwei Hauptprobleme mit php-cgi, die im Internet beobachtet werden:
Nachdem php-cgi die php.ini geändert hat, müssen Sie php-cgi neu starten, damit die neue php.ini wirksam wird, und es kann nicht neu gestartet werden glatt.
Wenn Sie PHP-CGI direkt beenden, kann PHP nicht ausgeführt werden.
php-fpm behebt die oben genannten Mängel perfekt und ist ein dedizierter FastCGI-Manager.
Kurz gesagt besteht die Rolle von php-fpm darin, Fastcgi in PHP gezielt zu verwalten, sodass PHP sicher und stabil mit dem Webserver zusammenarbeiten kann, um den Anforderungsantwortprozess unter Bedingungen hoher Parallelität abzuschließen.
Empfohlenes Lernen: php-Video-Tutorial
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über fastcgi und php-fpm in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
