CGI の英語での正式名は Common Gateway Interface (Public Gateway Interface) で、Nginx と動的スクリプト プログラムの間のブリッジであり、FastCGI の Wrapper プロセスがスレッドとハンドを生成します。解釈のためのスクリプトへのリクエスト。プログラムが実行され、解釈および実行された結果が元のソケットを通じて Nginx に返され、Nginx はその結果をクライアントに渡します。
Nginx は、Tcp プロトコルを使用して、ソケット ファイル ソケットを通じて動的リクエストをラッパーに送信します。ラッパーは CGI インターフェイスを通じてリクエストを受け入れます。このようにして、Web サーバーとインタープリターを完全に独立して開発できるため、サーバーのインターフェイスを直接呼び出すインタープリターによって引き起こされるエラー、クラッシュ、セキュリティの問題を回避できます。さらに、Nginx を静的ページ リクエストの処理と動的リクエストの転送に集中させ、スクリプト インタプリタを別のサーバーにインストールすることで、サーバーへの負荷を分散することができます。
CGI は、PHP プログラムのパッチとして開発されています。PHP をインストールするには、まず依存するライブラリをインストールしてから、構成パラメーター --enable-fpm --enable-cgi をコンパイルするときに CGI のサポートを追加します。およびその他のオプション。 PHP 拡張モジュールをコンパイルするには、モジュールのコンパイル時に PHP で phpize ツールを使用して構成ファイルを生成する必要があります。phpize の実行時に構成ファイルを生成できない場合、その理由は autoconf ソフトウェア パッケージがインストールされていないことです。
php-fpm プロセスの設定ファイルは /usr/local/php/etc/php-fpm.conf です。それに応じて php-fpm を設定できます。
Nginx 設定は fastcgi をサポートします:
Nginx は、Apache、IIS、lighthttp と同様の Web サービスを提供します。
Web サービスが PHP ファイルリクエストを受信すると、そのリクエストを PHP に転送して処理し、処理結果を返します。 CGI または ISAPI モードでの実行に加えて。
さらに、Windows プラットフォームを使用している場合は、Apache+PHP+Mysql を使用することをお勧めします。Microsoft の IIS に関連する必要がある場合は、少なくとも私はそう思います。 Linux プラットフォームを使用している場合は、Nginx +PHP+Mysql を使用することをお勧めします。PHP5.3 には、インストールして使用するのに非常に便利な php-fpm が組み込まれています。
Nginx は Windows プラットフォームでも使用できます。必要に応じて、現在使用中であり、既製です。現在は Linux+Nginx+PHP+Mysql+Postgresql+Mongodb を使用しています。