ホームページ >バックエンド開発 >PHPチュートリアル >HTTP サーバーは PHP のサポートをどのように実装しますか? _PHP チュートリアル
現在、PHP には 3 種類の HTTP サーバー サポートがあります:
FastCGI を使用する一般的なスタックは 2 つあります:
ligthttpd+spawn-fcgi
また、spawn-fcgi は lighttpd の一部であるため、lighttpd がインストールされている場合、PHP をサポートするために spawn-fcgi が使用されることになりますが、現在一部のユーザーは、lighttpd の spwan-fcgi がサポートしていると主張しています。同時実行性が高いと、前述のメモリリークが発生し、fastcgi も自動的に再起動されます。つまり、この時点でユーザーがアクセスすると、PHP スクリプト プロセッサがクラッシュし、白いページが表示される可能性があります (つまり、PHP を解析できないか、エラーが発生します)。
lighttpd とは異なり、Nginx には fastcgi (spawn-fcgi) が付属しているため、完全に軽量であり、PHP を解析するためにサードパーティの FastCGI プロセッサの助けを必要とするため、nginx は非常に柔軟に接続できるようです。 PHP 解析を実装するためのサードパーティ解析プロセッサ (nginx.conf で簡単に設定できます)。
nginx は spwan-fcgi を使用できます (lighttpd を一緒にインストールする必要がありますが、nginx ではポートを回避する必要があります。一部の古いブログにはこれに関するインストール チュートリアルがあります)。ただし、spawn-fcgi には前述したようにユーザーによって徐々に発見される欠陥があるため、上記のように、nginx+spawn-fcgi の組み合わせの使用は徐々に減少しています。
spawn-fcgi の欠陥により、現在、新しいサードパーティ製 (現在、近い将来に PHP コアに追加することに熱心に取り組んでいると聞きました) PHP 用の FastCGI プロセッサである PHP-FPM が登場しました (詳細についてはグーグルで調べてください)。 spawn-fcgi と比較すると、次の利点があります:
PHPパッチとして開発されているため、インストール時にPHPソースコードと一緒にコンパイルする必要があります。つまり、PHPコアにコンパイルされるため、パフォーマンスの点で優れています。同時に、高い同時実行性の処理において spawn-fcgi よりも優れており、少なくとも fastcgi プロセッサを自動的に再起動しません。使用されている具体的なアルゴリズムと設計については、Google でご覧ください。
そのため、前述したように、nginx の軽量さと柔軟性により、現在のパフォーマンスは優れており、nginx + PHP/PHP-FPM の組み合わせを使用する人が徐々に増えています。
まとめ
http://www.bkjia.com/PHPjc/752557.html