最近行く先々の現場で耳にするNginx。
Webサーバらしいですが、Apatchとの違いもいまいち分からず、なんとなくで作業しちゃっています。
特徴やApatchとの違いも勉強しつつ、とりあえず自分のPCに環境構築や!
ということで、その際の手順をメモしようと思いました。
実施OS:Windows10 Pro
Nginxのインストール
まずはNginxのインストールです。
nginx: downloadから、zipファイルをダウンロードします。
バージョンが3つほどあると思いますが、
Mainline version ⇒ メインのバージョン
Stable version ⇒ 安定版
Legacy versions ⇒ 古いバージョン
的な意味なので、自分は安定板のnginx/Windows-1.12.1をダウンロードしました。
ダウンロードしたzipファイルはC直下に展開します。
私はフォルダ名をnginx-1.12.1にしました。
PHPのインストール
次はPHPをインストールします。
PHPを選択した理由としては、なんか簡単そうだったからです。
PHP: Downloadsから、またまたzipファイルをダウンロードします。
とりあえず最新版でいいかという感じで、
Current Stable PHP 7.1.7の欄にある、Windows downloadsをクリックします。
遷移先で、自分のPCにあったZipをクリックして、ダウンロードします。
ちなみに私のPCは64ビットなので、VC14 x64 Thread Safeのzipファイルをダウンロードしました。
Non ThreadとThreadとは?
と気になる方もいるかもしれませんが、
スレッドセーフである、というのは、Windows 上の Apache 2 のような,
マルチスレッドのウェブサーバーでも動作するバイナリだという意味です。
スレッドごとにローカルストレージのコピーを作成し、
別のスレッドとデータの衝突を起こさないようにしています。
よく分からなかったので、私はとりあえずThreadの方を選択しました。
ダウンロードしたものを解体したのち、
私はフォルダ名をphp-7.1.7にしてC:nginx-1.12.1直下に置きます。
nginx.confの編集
C:\nginx-1.12.1\conf\nginx.confの65~71行目からコメントアウトを外して、
fastcgi_paramの部分を以下のように変更します。
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME c:/nginx-1.12.1/html$fastcgi_script_name;
include fastcgi_params;
}
start&stopファイルの作成
C:nginx-1.12.1直下に、以下2つのファイルを作成します。
@ECHO OFF
cd c:\nginx-1.12.1
start c:\nginx-1.12.1\nginx.exe
start /b c:\nginx-1.12.1\php-7.1.7\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx-1.12.1\php-7.1.7\php.ini
ping 127.0.0.1 -n 1>NUL
echo Starting nginx
echo .
echo .
echo .
ping 127.0.0.1 >NUL
EXIT
@ECHO OFF
cd c:\php-7.1.7
c:\php-7.1.7\nginx.exe -s stop
taskkill /f /IM php-cgi.exe
EXIT
作成後、start-nginx.batでnginxの起動、stop-nginx.batで終了ができます。
起動している間はコマンドプロンプトもずっと起動しています。
起動時しない場合
私は初回起動時、以下メッセージが出て起動できませんでした。
コンピューターにVCRUNTIME140.dll がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてみてください。
なんだこりゃと思ったらVisual Studio 2015 の Visual C++ 再頒布可能パッケージ
というのがないのが原因らしいので、
以下からダウンロードしたのちインストールしたら起動できました。
https://www.microsoft.com/ja-jp/download/details.aspx?id=48145
PHPコードの実行
phpファイルは、C:\nginx-1.12.1\htmlに作成します。
とりあえず以下を作成しました。
<?php
echo "Hello PHO for NGINX!!";
?>
そして http://localhost/index_p.php を開くと、
出ました!
とりあえずここまでは割とスムーズに行きました。
分からないことだらけのnginxですが、これからどんどん学んでいこうと思います。