Nginx は、ロシア人によって書かれた非常に軽量な HTTP サーバーであり、非常に優れたパフォーマンスを備えています。非常に効率的なリバース プロキシ、負荷分散。 Lighttpd と同等の性能を持ち、Lighttpd のメモリリークの問題もありません。また、Lighttpd の mod_proxy にも問題があり、長い間更新されていません。
そこで、Linux サーバー上の Apache を置き換えるためにこれを使用する予定です。ただし、Nginx は CGI モードでの実行をサポートしていません。CGI モードによって引き起こされるプログラムの脆弱性を軽減できるためです。次に、FastCGI を使用して PHP プログラムを実行する必要があります。
以下は、Nginx + PHP5 FastCGI を正常に構成する私のプロセスです
まずNginxをインストールまたはコンパイルします
Nginxをインストールする
ソースコードパッケージは公式ホームページからダウンロードできます。 Ubuntu 7.10 は、apt を通じて直接インストールすることも、ここから最新の deb パッケージをダウンロードすることもできます:
リーリー自分でコンパイルしたい場合は、コンパイラーと PCRE ライブラリー (Nginx 用の書き換えモジュール。このモジュールが必要ない場合は、configure 中に ./configure –without-rewrite を使用できます) が既にあることを確認する必要があります。コンパイル方法は次のとおりです。 リーリー
Ubuntu インストール後のファイル構造はおおよそ次のとおりです:
/usr/local/nginx/conf 設定ディレクトリ
Ubuntu を実行してください:
リーリーその他の人は次を実行してください:
リーリーその後、http://localhost/ を通じて効果を確認できます。
nginxの自動動作を設定するには、/usr/local/nginx/sbin/nginxを/etc/rc.localに追加すると、Ubuntuで実行できるようになります
リーリー PHP5をインストールLinux に PHP をインストールする方法については、多くの記事があり、多くのプラットフォームで既製のパッケージさえあるため、自分でコンパイルする必要はありません。
1. まず以下のようにphp補助パッケージをインストールします
よく使用されるバッグには次のものがあります
例:
リーリー解凍
リーリー入力
リーリー後に実行
リーリー
その後、実行します
残りのインストール方法は同じです。
2.上記の補助パッケージをインストールした後、phpパッケージをインストールします
ステップ
リーリー
方法は上記と同じで実行します
最後にロードする必要があるモジュールを追加します
リーリー
(これらはロードされたモジュールであり、すべてではありません) Enter を押して実行します。
PHP5 の CGI メソッドの主な利点の 1 つは、次のように、FastCGI サポートが組み込まれていることです。FastCGI モードで実行するには、バインドされたアドレスとポートのパラメーターを指定するだけです。
リーリー
PHP FastCGI 用に Nginx を構成する
次の内容を fastcgi_params ファイルとして /usr/local/nginx/conf に保存してください (Ubuntu は /etc/nginx に保存できます)。FastCGI モジュールの基本的な環境変数を設定します。 リーリー 「fastcgi_script_name」行に特に注意してください。PHP-CGI は、PHP ファイルの場所を特定するためにこの行の情報を特に必要とします。
さらに、PHP-CGI 設定ファイルの cgi.fix_pathinfo オプションをオンにする必要があります (この設定ファイルは、Ubuntu の /etc/php5/cgi/php.ini にあります)。 リーリー
このようにして、php-cgi は SCRIPT_FILENAME 変数を正常に使用できるようになります。次に、nginx 設定で、FastCGI プロセスを使用して実行されるように php ファイルを設定します。 リーリー
設定をリロードするように Nginx に通知します:
リーリーUbuntu ユーザーは init スクリプトを使用できます: sudo /etc/init.d/nginx reload
次に、php-cgi -b 127.0.0.1:9000を開始します
index.php をドキュメントのルート ディレクトリに置き、「phpinfo();」の内容を含めるとします。http://localhost/index.php を見ると、PHP のデバッグ情報が表示されるはずです。
PHPプロセスを構成するphp-cgi を直接使用して FastCGI を実行する方法には 2 つの問題があります (解決策があるはずです。ご存知の場合はご教示ください):
1. プロセスがクラッシュした場合の再起動の設定が難しい 2. 単一プロセスの効率が低い したがって、Lighttpd の spawn-fcgi を使用してプロセスの実行を制御できます。 spawn-fcgi を取得する方法は次のとおりです:
リーリーこれで、spawn-fcgi を使用して php-cgi の FastCGI プロセスを制御できるようになりました
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi
パラメータの意味は以下の通りです
興味があるかもしれない記事: Linux での nginx apache mysql php のコンパイル パラメーターを確認する
http://www.bkjia.com/PHPjc/1084579.html
。