nginx という単語を見たばかりで、その発音 (エンジン x) に非常に興味がありました。直訳すると「engine xtras (追加エフェクト)」ですが、この単語全体の意味は「極端な効果」や「追加のパフォーマンス」などです。 」。もちろん、これはここでの雑談ではなく、上記は余談です。
馴染みのある Apache や IIS と比較した nginx の利点は、私の知る限り、簡単に言うと「リバース プロキシ」と「負荷分散」にあります。したがって、Web サーバーのリソースを節約できることを考慮すると、Apache に代わって Web サービスを提供できます。それでは本題に入りますが、nginx には非常に多くの利点があります。では、Windows で nginx+php 環境を構成するにはどうすればよいでしょうか?ネット上には今でも転載・転載されている記事がたくさんあります。ここでは私の構成プロセスを紹介します:
1. 最初にアプリケーションパッケージを準備する必要があります。
nginx: nginx/Windows-1.0.4
php: php-5.2.16-nts-Win32-VC6-x86.zip (nginx の php は FastCGI で実行されるため、nts の非スレッドセーフ php パッケージをダウンロードします)
(これも使用されます) RunHiddenConsole: RunHiddenConsole.zip
2. インストールと構成。
1) phpのインストールと設定。
ダウンロードしたphpパッケージを直接解凍し、Dドライブのwnmpディレクトリ(D:wnmp)に移動します。ここで、解凍したフォルダーの名前をphp5に変更します。フォルダーに入り、php.ini 推奨ファイルを php.ini に変更し、Editplus または Notepad++ で開きます。
を見つけました<div> <span style="color: #000000;">extension_dir </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">./ext</span><span style="color: #800000;">"</span> </div>
が
に変更されました<div> <span style="color: #000000;">extension_dir </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">D:/wnmp/php5/ext</span><span style="color: #800000;">"</span> </div>
<div> <span style="color: #000000;">;extension</span><span style="color: #000000;">=</span><span style="color: #000000;">php_mysql.dll<br>;extension</span><span style="color: #000000;">=</span><span style="color: #000000;">php_mysqli.dll</span> </div>
先ほど php の ext パスを指定した後、必要な拡張パッケージの前にある対応する「;」を削除するだけです。ここで php_mysql.dll と php_mysqli.dll を開いて、php が mysql をサポートできるようにします。もちろん、非常に重要な手順は、php5 ディレクトリにある libmysql.dll ファイルを C:Windows ディレクトリにコピーすることであることを忘れないでください。もちろん、システム変数でパスを指定することもできます。 , ここではより便利な方法を選択しました^_^。
この時点で、php はすでに mysql をサポートできます。
次に、php を nginx と組み合わせられるように php を設定します。
を検索します
<div> <span style="color: #000000;">;cgi.fix_pathinfo</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span> </div>
ここで禁止を解除しましょう。
<div> <span style="color: #000000;">cgi.fix_pathinfo</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span> </div>
2) nginx のインストールと設定。
ダウンロードした nginx-1.0.4 パッケージを D ドライブの wnmp ディレクトリに解凍し、名前を nginx に変更します。次に、php で動作できるように nginx を設定します。 nginx conf ディレクトリに入り、nginx 構成ファイル nginx.conf を開いて、
を見つけます。<div> <span style="color: #000000;">location </span><span style="color: #000000;">/</span><span style="color: #000000;"> {<br> root html; #这里是站点的根目录<br> index index.html index.htm;<br>}</span> </div>
root html; を root D:/wnmp/www;
に変更しますさらに下に行って
を見つけます
<div> <span style="color: #000000;"># pass the PHP scripts to FastCGI server listening on </span><span style="color: #800080;">127.0</span><span style="color: #000000;">.</span><span style="color: #800080;">0.1</span><span style="color: #000000;">:</span><span style="color: #800080;">9000</span><span style="color: #000000;"><br>#<br>#location </span><span style="color: #000000;">~</span><span style="color: #000000;"> \.php$ {<br># root html;<br># fastcgi_pass </span><span style="color: #800080;">127.0</span><span style="color: #000000;">.</span><span style="color: #800080;">0.1</span><span style="color: #000000;">:</span><span style="color: #800080;">9000</span><span style="color: #000000;">;<br># fastcgi_index index.php;<br># fastcgi_param SCRIPT_FILENAME </span><span style="color: #ff0000;">/</span><span style="color: #000000;"><span style="color: #ff0000;">scripts</span>$fastcgi_script_name;<br># include fastcgi_params;<br>#}</span> </div>
まず先頭の「#」を削除し、root html; を root D:/wnmp/www; に変更します。次に、赤でマークされた /scripts を「$document_root」に変更します。ここでの「$document_root」は、前の「root」が指すサイトのパスを指します。これは変更後のものです。
<div> <span style="color: #000000;">#</span><span style="color: #000000;"> pass the PHP scripts to FastCGI server listening </span><span style="color: #0000ff;">on</span><span style="color: #000000;"> </span><span style="color: #000000;">127.0</span><span style="color: #000000;">.</span><span style="color: #000000;">0.1</span><span style="color: #000000;">:</span><span style="color: #000000;">9000</span><span style="color: #000000;"><br></span><span style="color: #000000;">#</span><span style="color: #000000;"><br>location ~ </span><span style="color: #000000;">\.</span><span style="color: #000000;">php</span><span style="color: #000000;">$</span><span style="color: #000000;"> {<br> root <span style="color: #ff0000;">D:</span></span><span style="color: #ff0000;">/wnmp/www;</span><span style="color: #000000;"><br> fastcgi_pass </span><span style="color: #800080;">127.0.0.1<span style="color: #000000;">:</span>9000</span><span style="color: #000000;">;</span><span style="color: #000000;"><br> fastcgi_index index</span><span style="color: #000000;">.</span><span style="color: #000000;">php</span><span style="color: #000000;">;</span><span style="color: #000000;"><br> fastcgi_param SCRIPT_FILENAME </span><span style="color: #ff0000;">$document_root</span><span style="color: #000000;">$</span><span style="color: #000000;">fastcgi_script_name</span><span style="color: #000000;">;</span><span style="color: #000000;"><br> include fastcgi_params</span><span style="color: #000000;">;</span><span style="color: #000000;"><br>}</span> </div>
nginx+php 環境の初期設定が完了しました。見てみましょう。コマンド
を入力できます。
を使用して php を起動し、nginx を手動で起動することもできます。もちろん、スクリプトを使用してこれを実現することもできます。まず、ダウンロードした RunHiddenConsole.zip パッケージを nginx ディレクトリに解凍します。 RunHiddenConsole.exe の機能は、コマンド ライン スクリプトの実行後にスクリプトを自動的に閉じることであり、スクリプトから開始されたプロセスは閉じられません。次に、「start_nginx.bat」という名前のスクリプトを作成し、Notepad++
で編集します。
<div> <span style="color: #0000ff;">@echo</span><span style="color: #000000;"> </span><span style="color: #0000ff;">off</span><span style="color: #000000;"><br></span><span style="color: #008000;">REM</span><span style="color: #008000;"> Windows 下无效</span><span style="color: #008000;"><br>REM</span><span style="color: #008000;"> set PHP_FCGI_CHILDREN=5</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #008000;">REM</span><span style="color: #008000;"> 每个进程处理的最大请求数,或设置为 Windows 环境变量</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">set</span><span style="color: #000000;"> PHP_FCGI_MAX_REQUESTS</span><span style="color: #000000;">=</span><span style="color: #000000;">1000</span><span style="color: #000000;"><br> <br></span><span style="color: #0000ff;">echo</span><span style="color: #000000;"> Starting PHP FastCGI</span><span style="color: #000000;">...</span><span style="color: #000000;"><br>RunHiddenConsole D:</span><span style="color: #000000;">/</span><span style="color: #000000;">wnmp</span><span style="color: #000000;">/</span><span style="color: #000000;">php5</span><span style="color: #000000;">/</span><span style="color: #000000;">php-cgi</span><span style="color: #000000;">.</span><span style="color: #000000;">exe -b </span><span style="color: #000000;">127.0</span><span style="color: #000000;">.</span><span style="color: #000000;">0.1</span><span style="color: #000000;">:</span><span style="color: #000000;">9000</span><span style="color: #000000;"> -c D:</span><span style="color: #000000;">/</span><span style="color: #000000;">wnmp</span><span style="color: #000000;">/</span><span style="color: #000000;">php5</span><span style="color: #000000;">/</span><span style="color: #000000;">php</span><span style="color: #000000;">.</span><span style="color: #000000;">ini<br> <br></span><span style="color: #0000ff;">echo</span><span style="color: #000000;"> Starting nginx</span><span style="color: #000000;">...</span><span style="color: #000000;"><br>RunHiddenConsole D:</span><span style="color: #000000;">/</span><span style="color: #000000;">wnmp</span><span style="color: #000000;">/</span><span style="color: #000000;">nginx</span><span style="color: #000000;">/</span><span style="color: #000000;">nginx</span><span style="color: #000000;">.</span><span style="color: #000000;">exe -p D:</span><span style="color: #000000;">/</span><span style="color: #000000;">wnmp</span><span style="color: #000000;">/</span><span style="color: #000000;">nginx</span> </div>
<div> <span style="color: #0000ff;">@echo</span><span style="color: #000000;"> </span><span style="color: #0000ff;">off</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">echo</span><span style="color: #000000;"> Stopping nginx</span><span style="color: #000000;">...</span><span style="color: #000000;"> </span><span style="color: #000000;"> </span><span style="color: #000000;"><br>taskkill </span><span style="color: #000000;">/</span><span style="color: #000000;">F </span><span style="color: #000000;">/</span><span style="color: #000000;">IM nginx</span><span style="color: #000000;">.</span><span style="color: #000000;">exe </span><span style="color: #000000;">></span><span style="color: #000000;"> nul</span><span style="color: #000000;"></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">echo</span><span style="color: #000000;"> Stopping PHP FastCGI</span><span style="color: #000000;">...</span><span style="color: #000000;"><br>taskkill </span><span style="color: #000000;">/</span><span style="color: #000000;">F </span><span style="color: #000000;">/</span><span style="color: #000000;">IM php-cgi</span><span style="color: #000000;">.</span><span style="color: #000000;">exe </span><span style="color: #000000;">></span><span style="color: #000000;"> nul<br></span><span style="color: #0000ff;">exit</span> </div>
做好后,是这样的
这样,我们的服务脚本也都创建完毕了。双击start_nginx.bat看看进程管理器是不是有两个nginx.exe的进程和一个php-cgi.exe的进程呢?
这样nginx服务就启动了,而且php也以fastCGI的方式运行了。
到站点目录下,新建一个phpinfo.php的文件,在里面编辑
<div> <span style="color: #000000;"></span><span style="color: #000000;">php<br> </span><span style="color: #008080;">phpinfo</span><span style="color: #000000;">();<br></span><span style="color: #000000;">?></span> </div>
保存后,打开浏览器输入“http://localhost/phpinfo.php”,如果看到
就说明,nginx+php的环境已经配置好了,呵呵~