ホームページ  >  記事  >  バックエンド開発  >  PHP: CGI、FASTCGI、php-fpm、mod_php、mod_cgi、mod_fcgid

PHP: CGI、FASTCGI、php-fpm、mod_php、mod_cgi、mod_fcgid

WBOY
WBOYオリジナル
2016-06-23 13:44:47953ブラウズ

一般的に使用される概念の中には、注意しないと混乱する可能性があるものがあるため、以下に簡単にリストします。


1. CGI はユニバーサル ゲートウェイ インターフェイスです。HTTP サーバーは、このようなインターフェイス プログラムを使用して他のアプリケーション (PHP インタープリター プログラムなど) と通信するため、各リクエストには新しい CGI プログラムを作成する必要があります。処理が行われるため、パフォーマンスが低下します。


2. FASTCGI は、実際には CGI プログラムのプロセス管理であり、マスター プロセスを通じてリクエストを受け入れ、ワーカー プロセスをプリフォークして CGI プロセスの作成を削減します。初期化と破棄のオーバーヘッドが発生するため、パフォーマンスが向上します。

3. mod_php は、Apache の組み込み php 解釈モジュールであり、prefork メソッドを使用しており、通信とアプリケーションの解釈に追加のプロセスを必要としません。明らかに mod_php は mod_cgi よりもパフォーマンスが優れていますが、欠点はアプリケーションです。サーバーは相互にバインドされており、各 Apache プロセスは、リクエストが静的コンテンツを処理しているか動的コンテンツを処理しているかに関係なく mod_php をロードする必要があります。これにより、メモリが浪費され、効率が低下します。さらに、php.ini ファイルも変更されます。有効にするには Apache サーバーを再起動する必要があり、スムーズな設定変更が不可能になります。

4. php-fpm は nginx でよく使用されるプログラムで、実際には FASTCGI プロトコルの拡張実装であり、--enable-fpm を通じて有効にできます。コンパイル オプション。php-fpm は、(新しいワーカー プロセスをフォークすることによって) 構成のスムーズな変更をサポートし、パフォーマンスが高く、メモリ使用効率が高いことも、nginx + php-fpm の構成の組み合わせが Apache を置き換える重要な理由です。 +mod_cgi と apache+mod_php。

5. mod_fcgid は、優れたパフォーマンスを備えた Apache の fastcgi 実装であり、Apache バージョン 2.4 以降でサポートされています。

参考資料:

http://httpd.apache.org/mod_fcgid/

http://www.openlogic.com/wazi/bid/209956/mod_php-vs-FastCGI-vs-PHP -FPM-for-Web-Server-Scripting

http://www.eschrade.com/page/why-is-fastcgi-w-nginx-so-much-faster-than-apache-w-mod_php/

http://serverfault.com/questions/6733/php-what-are-the-advantages-of-fastcgi-over-mod-php

by cstopery

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。