ホームページ >バックエンド開発 >PHPチュートリアル >WindowsでのNginx+PHP5のインストールと設定方法

WindowsでのNginx+PHP5のインストールと設定方法

WBOY
WBOYオリジナル
2016-06-13 13:07:49783ブラウズ

Windows での Nginx+PHP5 のインストールと設定方法

PHP5 をインストールします
まず、最新の PHP5.2.9-2 Windows バージョンを http://www.php.net/downloads.php からダウンロードし、C:php に解凍して、php.ini を配置します。 、名前を php.ini に変更し、いくつかのオプションを開いて変更します:

error_reporting = E_ALL
display_errors = オン
extension_dir = "C:phpext"

; 動的拡張の場合、必要に応じて拡張の前のコメントを削除できます。たとえば、PDO をロードするには、MySQL
extension=php_pdo.dll
extension=php_pdo_mysql.dll

; CGI 設定

cgi.force_redirect = 1
cgi.fix_pathinfo = 1
cgi.rfc2616_headers = 1

PHP の拡張機能をロードする場合は、依存関係に注意する必要があります。たとえば、php_exif.dll を正常にロードするには、php_mbstring.dll を php_exif.dll の前に置く必要があります。一部の拡張機能は、PHP 5.0 以降などの追加の dll ファイルに依存し、php_mysqli.dll は libmysql.dll に依存し、php_oci8.dll の場合は、Oracle 8 クライアントをインストールする必要があります。これらの依存関係についてよくわからない場合は、インストール パッケージの install.txt ファイルを参照してください。

依存ファイルの検索順序: 最初は php.exe が配置されているディレクトリ、次に Apache の bin ディレクトリなどの Web サーバーの起動場所が検索されます。 Windows PATH 環境変数内のディレクトリ。ここでは Windows ディレクトリにファイルをコピーしないでください。必要に応じて、将来の PHP アップグレードを容易にするために C:php5 を PATH に追加できます。

Nginx をインストールします

v0.7.52 から、Nginx は Windows バージョンの Nginx をリリースし始めます。公式 Web サイトからダウンロードできます: http://nginx.net
私は 0.8.37 を使用しています。ダウンロード後、リリースファイルをD:nginxに解凍します。

PHP FastCGI の設定

Nginx はリクエストを処理するために FastCGI サーバーと連携する必要があります。PHP FastCGI サーバーを実行するには 2 つの方法があります。
c:/php を実行します。コマンドライン /php-cgi.exe -b 127.0.0.1:9000 -c c:/php/php.ini で PHP FastCGI
を起動します

Nginx 構成ファイル dnginxconfnginx.conf を変更し、PHP 関連の部分を見つけて次のように変更します:

# 127.0.0.1:9000 でリッスンしている FastCGI サーバーに PHP スクリプトを渡します
location ~ .php$ {
root d:/public_html;
include php.conf;
}
root ($document_root) は、php スクリプトのルート ディレクトリを指し、Web サイトのルート ディレクトリに設定されます。 Windows では、ルート パスに注意する必要があります。Windows のデフォルトの "" ではなく、"/" をパス区切り文字として使用するのが最善です。そうしないと、たとえば、次のパスのように問題が発生しやすくなります。は機能しません。テスト内の t はタブ文字として解析されるため、Nginx は 500 エラーをスローします。もちろん、d:\public_html\test のようにバックスラッシュ エスケープを追加することもできます。

php.conf は、PHP 設定を保存するために作成したファイルです。実際、このファイルには次の 3 行のコマンドしかありません。

# ローカル ポート 9000 に接続します。ここでのポートは、PHP によって開かれたポートを指します。 FastCGI Server.
# php-cgi.exe によって開かれたポートと一致させてください
# Nginx が php ファイルのリクエストを受信すると、それを PHP FastCGI Server
fastcgi_pass 127.0 に自動的に転送します。 0.1:9000;
fastcgi_indexindex.php;
include fastcgi_params;
設定を保存するために別の php.conf を作成する必要がある理由は、複数の仮想ホストを設定するときに nginx.conf を簡素化するためです。 nginx の場合、各仮想ホストで php を設定する必要があるため、メインの設定ファイルは繰り返しが多くなり、肥大化します。

d:nginxconffastcgi_params ファイルを変更し、次の行を追加する必要があります:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

そして、php.ini を変更して cgi.fix_pathinfo = 1 に設定します。これは非常に重要です。そうしないと、PHP は処理する必要のある PHP スクリプトを見つけることができなくなります。

その他の設定、メインサーバー:

# デフォルトで開始されるプロセスの数
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log Notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
# プロセスによって処理される接続の最大数、
# ローカル開発、デフォルトは不要1024、ここでは 64
worker_connections 64;
}
に変更されました

デフォルトのindex.phpindex.htmlなどのホームページファイルがディレクトリにない場合、Nginxは403エラーをスローします。このディレクトリをリストする必要がある場合は、http {…}に次のコマンドを追加します。 🎜 >autoindex オン;

autoindex_exact_size オン;
autoindex_localtime オン;

start_nginx.bat、PHP FastCGI と Nginx を同時に起動するために使用されます:
@echo off
echo starting PHP FastCGI...
RunHiddenConsole c:/php/php-cgi.exe - b 127.0. 0.1:9000 -c c:/php/php.ini
echo nginx を起動しています...
d:/nginx/nginx.exe
RunHiddenConsole.exe は、DOS ウィンドウを非表示にするために使用される小さなプログラムです。ここから RunHiddenConsole.zip (1.01 kb) をダウンロードします。
start_nginx.bat を開いた後、DOS ウィンドウも表示されますが、安全に閉じることができ、Nginx と php-cgi.exe は閉じられません。
stop_nginx.bat、シャットダウンに使用:
@echo off
echo nginx を停止しています...
taskkill /F /IM nginx.exe > nul
echo PHP FastCGI を停止しています。 .
taskkill /F /IM php-cgi.exe > nul
exit
これで基本的な設定は完了です。

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