Amazon EC2+nginx+Movable Typeで、ブログを作る(その2)

nginxをインストールする

前回の続きです。今回は、NginXのインストール、起動までを記述します。

nginxとは

作業の前に、nginxについて軽く触れておきginXとはnginxとは、ロシアの企業(Rambler)が開発した、軽量・高速のウェブサーバーです。ウェブサーバーとして最もシェアが高いApacheに比べて、静的htmlの書き出しなどが高速なため、大規模なアクセスがあるウェブサイトに使われ始めています。

Netcraft社の調査によると、2012年3月現在、nginxはApacheについで第二位のシェアを獲得しています。

nginx_share

今後、シェアの増加が予想されるウェブサーバーの一つといえるでしょう。

(余談ですが、数年前に「Lighttpd」がYoutubeに採用されていることが一部で話題になりました。Apacheが高機能で巨大になっていくと同時に、Lighttpdやnginxのような「軽い」ウェブサーバーを求める人が増えている、という事情があるかもしれません。)

AWSへSSH接続する

AWSのAmazonEC2にサーバーイメージを立ち上げると、すぐにSSHによるアクセスが可能となります。SSHに接続する際は、インスタンスに割り振られた、PublicDNSをホスト名として利用可能です。 aws_dns.png

AmazonEC2でサーバーイメージを立ち上げる場合、利用したSecurity Groupの設定に気をつけましょう。
SecurityGroupは、iptablesに近い機能を持ち、パケットフィルタリングやポートフォワーディングの設定が可能です。Securityグループのデフォルトでは、SSH(22番)のみ許可している場合があります。この場合は、ブラウザでアクセスしても、http通信が許可されていないため、ウェブページの閲覧ができません。

securitygroup.png

インストール

それでは、nginxのインストールについて進めます。まず、AWS上に、Amazon Linuxのインスタンスを立ち上げます。

SSHで接続後、nginxをインストールします。Amazon Linuxでは、yumコマンドでインストールができます。

$ sudo yum install nginx
Installed:
nginx.x86_64 0:0.8.54-1.4.amzn1
Complete!

インストールが終了したら、nginxを立ち上げます。

$ sudo /etc/init.d/nginx start
Starting nginx:                                            [  OK  ]

AWSが発行している、Public DNS(一時的に付与されたWAN用ドメイン)に、ブラウザでアクセスすると、nginxの初期画面が表示されます。

nginx_default.png

AWSのロゴが見えていますね。

nginxは、以下の設定でインストールされています。(使用するディストリビューション、AMIイメージにより、下記のパス情報は変わります。)

設定ファイル類 /etc/nginx/nginx.conf 他

公開パス /usr/share/ngin/html/

なお、Amazon Linux以外でも、ubuntuでもnginxのパッケージは用意されていました。apt-getからインストール可能です。

nginxの設定ファイル類

nginxは、「nginx.conf」という設定ファイルで各種設定を行います。 このnginx.confは、他の設定ファイルをインクルードして、設定値を引き継ぐことが可能です。 以下、Amazon Linuxの設定用ファイルとして、あらかじめ準備されているファイル群です。

$ ls -l /etc/nginx/
total 64
drwxr-xr-x 2 root root 4096 Mar 15 10:07 conf.d
-rw-r--r-- 1 root root  979 Dec 13 01:38 fastcgi.conf
-rw-r--r-- 1 root root  979 Dec 13 01:38 fastcgi.conf.default
-rw-r--r-- 1 root root  909 Dec 13 01:38 fastcgiparams
-rw-r--r-- 1 root root  909 Dec 13 01:38 fastcgiparams.default
-rw-r--r-- 1 root root 2837 Dec 13 01:38 koi-utf
-rw-r--r-- 1 root root 2223 Dec 13 01:38 koi-win
-rw-r--r-- 1 root root 3174 Dec 13 01:38 mime.types
-rw-r--r-- 1 root root 3174 Dec 13 01:38 mime.types.default
-rw-r--r-- 1 root root 3234 Dec 13 01:37 nginx.conf
-rw-r--r-- 1 root root 2726 Dec 13 01:38 nginx.conf.default
-rw-r--r-- 1 root root  544 Dec 13 01:38 scgiparams
-rw-r--r-- 1 root root  544 Dec 13 01:38 scgiparams.default
-rw-r--r-- 1 root root  570 Dec 13 01:38 uwsgiparams
-rw-r--r-- 1 root root  570 Dec 13 01:38 uwsgiparams.default
-rw-r--r-- 1 root root 3610 Dec 13 01:38 win-utf

fastcgiを利用する際に使うパラメータをあらかじめセットしている「fastcgi_params」や、nginx.confの元設定を記述しているバックアップ的存在の「nginx.conf.default」など、諸々の予備設定ファイルがあります。

conf.d/以下には、sslの設定書式が記述されている「ssl.conf」や、バーチャルホストの設定書式を記述している「virtual.conf」などがありました。必要に応じて、目を通しておくとよいでしょう。

次回は、nginxでcgiを動かせるようにして、Perlを実行可能にします。