php-fpm fastcgi phpcgi これらは何に使用されますか?

WBOY
リリース: 2016-08-04 09:20:21
オリジナル
958 人が閲覧しました

このようなことをよく見かけますが、ネットで調べても理解できません。どなたかわかりやすく説明していただけませんか?

概念的な理解: CGI、FastCGI、PHP-CGI、および PHP-FPM

栗をあげたほうがいいよ!

ありがとう

返信内容:

このようなことをよく見かけますが、ネットで調べても理解できません。どなたかわかりやすく説明していただけませんか?

概念的な理解: CGI、FastCGI、PHP-CGI、および PHP-FPM

栗をあげたほうがいいよ!

ありがとう

CGI は、HTTP サーバーと動的ハンドラー間の通信方法を確立するために使用される一連のインターフェイス ルールです。
FastCGI は CGI の実装とみなすことができ、CGI ハンドラーをプロセス内に常駐させることで 1 つの CGI プロセスで複数のリクエストを処理できるようになり、CGI プログラムを繰り返し起動する時間とリソースの消費が削減されます。

php-cgi は、PHP プログラム処理を提供するために使用される FastCGI です。
php-fpm (FastCGI Process Manager) は、FastCGI プログラム上で FastCGI プロセスを管理するための管理ツールです。
php-cgi は単一のプロセスです。php-cgi を開いてリクエストを処理する場合、一度に処理できるリクエストは 1 つだけで、残りのリクエストはキューに入れられます。
php-fpm は複数の FastCGI プロセスを管理し、リクエストを複数の FastCGI プロセスに並行して送信して同時に処理できるようにします。
単純に理解すると、php-fpmが複数のphp-cgiを管理することになります

簡単な例として、リクエストはクライアントから Nginx サーバーに送信され、PHP プログラムによって処理されます。

  • リクエストは Nginx サーバーに送信され、Nginx サーバーは設定に従ってそれを php-fpm に送信します。ただし、Nginx と php-fpm は 2 つの会社の製品です。送信された情報を確実に理解できるようにするにはどうすればよいですか。お互いに?これは、すべて CGI のルールに従ってデザインされたためです。

  • php-fpmはリクエストを受信した後、リクエストを処理するために管理するFastCGIプロセス内でアイドルプロセスを見つけます

  • また、Nginxはphp-cgiにも接続できますが、php-cgiはプロセス管理モジュールを持たず、単一プロセスです。

FastCgiとPHP-fpmの関係については、イン・チュアンの回答を参照してください

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート