FastCGI (Fast Common Gateway Interface、Fast Common Gateway Interface) は、HTTP サーバーと動的スクリプト言語間の通信用のスケーラブルな高速インターフェイス (またはプロトコル) です。
Nginx FastCGI の動作原理 (推奨学習: PHP ビデオ チュートリアル )
#Nginx は、外部プログラムの直接呼び出しや解析をサポートしていません。すべてのプログラム (PHP を含む) は、FastCGI および uwsig インターフェイスを通じて呼び出す必要があります。FastCGI インターフェイスは、Linux でソケットを呼び出します (unix sockt または ip:port 形式)。 CGI プログラムを呼び出すには、ポートやファイル ソケットなどの固定ソケットにバインドされる FastCGI ラッパーも必要です。
Nginx が FastCGI インターフェイスを介してこのソケットに CGI リクエストを送信すると、ラッパーはリクエストを受信し、新しいスレッドを派生します。このスレッドは、インタープリタまたは外部プログラムを呼び出してスクリプトを処理し、戻りデータを読み取ります。 . ;その後、ラッパーは返されたデータを FastCGI インターフェースおよび固定ソケット経由で Nginx に渡します。
最後に、Nginx は返されたデータをクライアントに送信します。
PHP-FPMFastCGI インターフェイス モードは、動的スクリプトを解析するために、スクリプト解析サーバー上で 1 つ以上のデーモン プロセスを開始します。これらのプロセスは、FastCGI プロセス マネージャーです。または FastCGIエンジン。
PHP-FPM は、PHP をサポートする FastCGI エンジンです。 PHP-FPM は、PHP のパッチとして開発されたサードパーティの FastCGI プロセス マネージャーであるため、インストール時に PHP ソース コードと一緒にコンパイルする必要があります。これは、PHP-FPM が PHP カーネルにコンパイルされることを意味します。
FastCGI の主な利点は、動的言語を HTTP サーバーから分離できることです。そのため、Nginx と PHP/PHP-FPM は、フロントエンドの Nginx サーバーへの負荷を共有するために、異なるサーバーにデプロイされることが多く、 Nginx を専用にする PHP/PHP-FPM サーバーは PHP 動的リクエストの解析に特化する一方で、静的リクエストを処理して動的リクエストを転送します。
以上がnginxはphpをサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。