Windows上の PHP-FastCGI¶
概要¶
NGINX は FastCGIデーモンを使ってWindows上でPHPとやり取りをすることができます。これはPHPと同梱されています: php-cgi.exe。php-cgi.exe -b 127.0.0.1:<port>
を実行する必要があり、 NGINX設定ファイル内でfastcgi_fastcgi_pass_ 127.0.0.1:<port>;
を使用します。起動された後でphp-cgi.exe
はコマンドプロンプト ウィンドウ内で接続のためにlistenし続けるでしょう。windowsを隠すために、小さなユーティリティRunHiddenConsoleを使います。
ステップ¶
- NGINX for Win32 <install_win32_binaries_>_をインストールします。
php-cgi.exe
がphp.exe
と同じディレクトリ内にインストールされるようにして、PHPのWindowsバイナリをインストールします。- 以下と同じように、どこかに(たとえば、
c:\nginx\
の中に)バッチファイルstart-php-fcgi.bat
を作成します。
start-php-fcgi.bat
@ECHO OFF ECHO Starting PHP FastCGI... set PATH=C:\PHP;%PATH% c:\bin\RunHiddenConsole.exe C:\PHP\php-cgi.exe -b 127.0.0.1:9123nginx.conf
root c:/www; location ~ \.php$ { fastcgi_pass 127.0.0.1:9123; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
PHPとNGINXの自動起動¶
- システムが起動する時にSYSTEMアカウントで上のバッチファイルが実行するように基本的な(Windows Vista上の)タスクをスケジュールします。
- http://kevinworthington.com/nginx-for-windows/からWindows NGINXを使う場合は、開始ディレクトリ
C:\nginx
内でシステムが起動する時にSYSTEMアカウントでC:\nginx\conf\start-nginx.bat
ファイルを実行するように基本的な(Windows Vista上の)タスクをスケジュールします。 - NGINXの自家製のCygwinビルドは以下のようなバッチファイルを使ってスケジュールすることができます:
cd /d C:\cygwin\bin && bash -c /usr/local/nginx/sbin/nginx