このようなことをよく見かけますが、ネットで調べても理解できません。どなたかわかりやすく説明していただけませんか?
概念的な理解: 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 プログラムによって処理されます。
FastCgiとPHP-fpmの関係については、イン・チュアンの回答を参照してください