軽量で高速なウェブサーバNginxを、Ubuntu 12.04に導入する(インストール編)

Updated:

先週、ブログとウェブサイトを分離して、サーバを移転しました。これまではレンタルサーバを使っていましたが、新サイトはさくらVPSのサーバの上で、ウェブサーバNginxを動かしています。

Nginxは、ロシアで開発された軽量で高速なウェブサーバで、HTTPのリバースプロキシー機能とメールのプロキシー機能も備えています。詳しくは公式サイトwww.nginx.orgの解説(日本語)をご覧ください。

このエントリでは、Ubuntu 12.04 LTSにNginxをインストールする手順を説明します。

インストールするパッケージを決める

Nginxをインストールするには、次の3つの方法があります。

  1. Ubuntuのパッケージをインストールする
  2. www.nginx.orgで公開されているパッケージをインストールする
  3. ソースからビルドする

1はUbuntuの公式なパッケージをインストールする方法です。現在、12.04 LTS(precise)では、Nginxのバージョンは1.1.19です。2は、Nginxの公式サイトが公開している、Ubuntu用のパッケージをインストールする方法で、安定版の最新バージョンがインストールされます。3は、www.nginx.orgからソースプログラムをダウンロードして、自分でコンパイルする方法です。

ここでは、手軽さから、1の方法をとりました。

Ubuntu 12.04LTSでは、3種類のパッケージが用意されています。

  • nginx-light - nginx web server with minimal set of core modules
  • nginx-full - nginx web server with full set of core modules
  • nginx-extras - nginx web server with full set of core modules and extras

これらのパッケージは、組み込まれているモジュールや機能の個数が違います。Nginxは、スタティックリンクでビルドされるので、あらかじめ必要なモジュールを組み込んでビルドしておく必要があるのです。下のものほど、機能が多いことになります。

私は、「全部入り」のnginx-extrasを選びました。

また、ドキュメントは次のパッケージに入っています。

  • nginx-doc - small, but very powerful and efficient web server (documentation)

ですから、私は、2つのパッケージnginx-extrasとnginx-docをインストールすることにしました。

Nginxをインストールする

1. パッケージをインストールする

$ sudo apt-get install nginx-extras
$ sudo apt-get install nginx-doc

2. ポート80を開放する

Ubuntuでは、ファイアウォールを制御するには、ufwコマンドを使用します。

次のコマンドでポート80をオープンします。コマンドの引数にhttpを指定していますが、これはポート80を表わします。

$ sudo ufw allow http

ポートが開放されたことを確認します。ファイアウォールの状態を表示するには、sudo ufw statusコマンドを使います。次のように表示されればOkです。

$ sudo ufw status
Status: active
 
To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
 
$

ここでは、Toが80、ActionがALLOW、FromがAnywhereとなっており、「ポート80に対して、すべてのIPアドレスからのアクセスが許可されている」という意味になります。

3. nginxをスタートする

$ sudo /etc/init.d/nginx start

4. ブラウザからアクセスして、Nginxが起動していることを確認する。

例えばローカルマシンのブラウザから「http://localhost/」にアクセスすると、"Welcome to nginx!"というシンプルなページが表示されます。これでNginxが起動していることが確認できました。

5. 自分のIDをグループwww-dataに追加する。

Ubuntuでは、Nginxはユーザwww-dataとグループwww-dataで動作するようになっています。ですから、次のようにして、addgroupコマンドを使って、自分のID(この例ではMY_IDとしています)を、グループwww-dataに追加しておくと便利です。

$ sudo addgroup MY_ID www-data

----------------------------------------------------------------------
次のエントリでは、Nginxの起動や停止の方法について説明します。