Windowsにnginxをインストールする
本業※でテストに使うためのApache Web Serverはセットアップ済みですが、趣味でもPHPをいじりたくなり、どうせならApacheではなくnginxを使ってみようかと思い立ちました。
nginxとは
nginxはエンジンエックスと読むらしいです。
Apacheと同じくオープンソースなWebサーバーなのですが、メモリの使用量の少なさや、膨大なアクセスにも耐える効率的な処理が特徴とのこと。最近、レンタルサーバーでもWebサーバーはnginxを使用している、と明記されているところも増え、これは何なんだろうなぁと思って気になっていたのですが、Netcraftの調査によると2018年10月現在、nginxのシェアはアクティブなWebサイトの21.96%もあるそうです。(Apacheは29.95%)
https://news.netcraft.com/archives/2018/10/29/october-2018-web-server-survey.html#more-26814
Netcraft以外にも統計情報を出しているところがあり、nginxのシェアが3割を超えた~4割を超えた~とけっこうバラバラな数字が出ていますが、レンタルサーバーでの採用事例を目にするようになってきたので普及しているのは間違いないでしょう。
特に大規模サイトだとApacheでは処理しきれなくなり、やむを得ずnginxへ移行しているケースも多いようです。
びっくりするほど簡単なnginxのインストール
- nginxの公式サイトからZIPファイルをダウンロード http://nginx.org/en/download.html
- c:\nginx に解凍
- nginx.exeをダブルクリック
- ブラウザで http://localhost/ を開いてみる
……もう動いた( ゚д゚)
あぁ、でも考えてみたらApacheもインストール自体は簡単でしたよね。
localhostを開いた瞬間、「あなたの予想に反してこのページが見えていますか?」なんてジョークが表示されて笑ったのも懐かしい思い出です。今は It Works! とだけ表示されるんでしたっけ。
nginxの起動と終了
nginxダブルクリックでも動作しますが、コマンドプロンプトやバッチファイルでstartコマンドから起動してもOKです。
■nginxの起動
c:\nginx>start nginx
startコマンドを使わないとコマンドプロンプトに戻ってきません。別のコマンドプロンプトを開いて終了コマンドを実行すれば良いんですけどね。
■nginxの終了
c:\nginx>nginx -s quit
また、オプションに -? をつければ下記のようにオプションの説明が表示されます。
C:\nginx\nginx -? nginx version: nginx/1.14.0 Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives] Options: -?,-h : this help -v : show version and exit -V : show version and configure options then exit -t : test configuration and exit -T : test configuration, dump it and exit -q : suppress non-error messages during configuration testing -s signal : send signal to a master process: stop, quit, reopen, reload -p prefix : set prefix path (default: NONE) -c filename : set configuration file (default: conf/nginx.conf) -g directives : set global directives out of configuration file
nginxをWindowsサービスとして登録したい場合
Apacheのhttpd -k installのような簡単な手段は用意されていないようです。
winswを使ってサービス化するのが比較的カンタンそうですが、テスト用なのでまだやらなくて良いかなぁ。
もし実施したら追記したいと思います。
winsw
https://github.com/kohsuke/winsw
winswのバイナリはこっち
http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/
まとめ
- nginxはメモリ使用量が少なく膨大なアクセスにも耐えるWebサーバーらしい
- nginxのインストールはZIPをDLして解凍するだけ
- コマンドラインでの起動/終了も簡単
- サービスとして登録する機能はないので外部ツールだより