Heim  >  Artikel  >  Backend-Entwicklung  >  php-fpm fastcgi phpcgi Wofür werden diese verwendet?

php-fpm fastcgi phpcgi Wofür werden diese verwendet?

WBOY
WBOYOriginal
2016-08-04 09:20:21959Durchsuche

Ich sehe diese Dinge oft, aber ich kann die Informationen, die ich online überprüft habe, nicht verstehen. Kann es jemand mit Laienbegriffen erklären?

Konzeptionelles Verständnis: CGI, FastCGI, PHP-CGI und PHP-FPM

Gib mir lieber eine Kastanie!

Vielen Dank

Antwortinhalt:

Ich sehe diese Dinge oft, aber ich kann die Informationen, die ich online überprüft habe, nicht verstehen. Kann es jemand mit Laienbegriffen erklären?

Konzeptionelles Verständnis: CGI, FastCGI, PHP-CGI und PHP-FPM

Gib mir lieber eine Kastanie!

Vielen Dank

CGI ist eine Reihe von Schnittstellenregeln, die zur Festlegung der Kommunikationsmethode zwischen dem HTTP-Server und dem dynamischen Handler verwendet werden.
FastCGI kann als eine Implementierung von CGI betrachtet werden. Es ermöglicht einem CGI-Prozess, mehrere Anforderungen zu verarbeiten, indem der CGI-Handler im Prozess resident wird, wodurch der Zeit- und Ressourcenverbrauch für das wiederholte Starten von CGI-Programmen reduziert wird.

php-cgi ist ein FastCGI, das zur Bereitstellung der PHP-Programmverarbeitung verwendet wird.
php-fpm (FastCGI Process Manager) ist ein Verwaltungstool zur Verwaltung von FastCGI-Prozessen zusätzlich zu FastCGI-Programmen.
php-cgi ist ein einzelner Prozess. Wenn ein php-cgi zur Verarbeitung einer Anfrage geöffnet wird, kann jeweils nur eine Anfrage verarbeitet werden und die verbleibenden Anfragen werden in die Warteschlange gestellt.
php-fpm verwaltet mehrere FastCGI-Prozesse, sodass Anfragen parallel zur gleichzeitigen Verarbeitung an mehrere FastCGI-Prozesse gesendet werden können.
Es kann einfach verstanden werden, dass PHP-FPM mehrere PHP-CGI verwaltet

Als einfaches Beispiel wird eine Anfrage vom Client an den Nginx-Server gesendet und dann vom PHP-Programm verarbeitet:

  • Die Anfrage wird an den Nginx-Server gesendet, und der Nginx-Server sendet sie entsprechend der Konfiguration an php-fpm. Wenn sie jedoch sicherstellen, dass sie es verstehen können, sind Nginx und php-fpm Produkte von zwei Unternehmen die von einander gesendeten Informationen, Inhalt? Dies liegt daran, dass sie sich bei der Gestaltung alle an die CGI-Regeln gehalten haben.

  • Nachdem php-fpm die Anfrage empfangen hat, findet es einen inaktiven Prozess im FastCGI-Prozess, der die Anfrage verarbeiten kann

  • Darüber hinaus kann Nginx auch mit PHP-CGI verbunden werden, PHP-CGI verfügt jedoch nicht über ein Prozessverwaltungsmodul, sondern ist ein einzelner Prozess.

Siehe Yin Chuans Antwort, die Beziehung zwischen FastCgi und PHP-fpm

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