軽量で高速なウェブサーバNginxを、Ubuntu 12.04に導入する(起動・停止編)

Updated:

今回は、Ubuntuで、ウェブサーバNginxを起動・停止する方法と、設定ファイルの内容をチェックする方法を説明します。(前回のインストール編はこちら)

Nginxを起動・停止する

UbuntuにNginxをインストールすると、ブート時に自動的に起動するように設定されます。ですから、普通にマシンをブートした場合には、手動でNginxを起動する必要はありません。

しかし、メンテナンスや設定を変更する際には、コマンドを使って手動で起動・停止する必要があります。起動や停止の方法は、Ubuntuの標準的なデーモンと同じです。

# 起動する
$ sudo /etc/init.d/nginx start
 
# 停止する
$ sudo /etc/init.d/nginx stop
 
# 再起動する
$ sudo /etc/init.d/nginx restart
 
# ステータスを表示する
$ sudo /etc/init.d/nginx status

Nginxの設定ファイルの内容をチェックする

Nginxの設定ファイルを書き換える時には、まず最初に、次のコマンドを実行して、設定ファイルの内容に誤りが無いことを確認してください。

# 設定ファイルの内容をチェックする
$ sudo /etc/init.d/nginx configtest

もしNginxの設定ファイルに何か誤りがあれば、次の例のように、エラーメッセージが表示されるので、設定ファイルを修正してください。

$ sudo /etc/init.d/nginx configtest
Testing nginx configuration: nginx: [emerg] unknown directive "http" in /etc/nginx/nginx.conf:12
nginx: configuration file /etc/nginx/nginx.conf test failed
$

設定ファイルに何も問題がなければ、次のように"Testing nginx configuration: nginx."というメッセージだけが表示されます。

$ sudo /etc/init.d/nginx configtest
Testing nginx configuration: nginx.
$

設定ファイルに問題がなければ、次のコマンドでNginxを再起動させます。

$ sudo /etc/init.d/nginx restart

----------------------------------------------------------------------

次のエントリでは、Nginxの設定ファイルについて解説しましょう。

軽量で高速なウェブサーバ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の起動や停止の方法について説明します。

ブログを引っ越しました

Updated:

これまでメインサイトとブログの両方をWordPressで管理していましたが、ブログを分離して、別ドメインhttp://blog.kondoyoshiyuki.com/で運営するようにしました。


メインサイト

http://www.kondoyoshiyuki.com/

ブログ

http://blog.kondoyoshiyuki.com/

ブログをブックマークされている方は、ブックマークの更新をお願いします。

また、これにともない、ブログのRSSのフィードのURLも次のように変わりました:

http://blog.kondoyoshiyuki.com/feed/

RSSフィードを購読されている方は、設定を変更してください。

前回の更新からずい分あいてしまいましたが、その間にネタもたまりましたので、今後はまめに更新していきたいと思います。

今後ともよろしくお願いいたします。

Ubuntuのパッケージキャッシュをクリアして、ディスク使用量を減らす

Updated:

ノートPCのVMware Player上で運用しているUbuntu Linuxで、特に心当たりもないのに、いつの間にかディスクの使用量がかなり増えていました。

増えたといっても数百Mバイトなので、大容量のHDDならほとんど気にならないレベルですが、ディスクを15Gしか割り当ててない仮想マシンなので無視できないレベルです。

調べてみたところ、/var/cache/apt以下の容量が増えていました。

ディレクトリの名前の通り、apt-getでインストールしたパッケージファイルがキャッシュされています。

$ ls -lAR /var/cache/apt
/var/cache/apt:
total 45104
drwxr-xr-x 3 root root   299008 Sep 29 22:18 archives
-rw-r--r-- 1 root root 23041799 Sep 29 22:19 pkgcache.bin
-rw-r--r-- 1 root root 22875039 Sep 29 07:52 srcpkgcache.bin

/var/cache/apt/archives:
total 293516
-rw-r--r-- 1 root root   146028 Sep  5 03:03 apport_2.0.1-0ubuntu13_all.deb
-rw-r--r-- 1 root root     9198 Sep  5 03:03 apport-gtk_2.0.1-0ubuntu13_all.deb
-rw-r--r-- 1 root root  1089260 Aug 21 08:37 apt_0.8.16~exp12ubuntu10.3_i386.deb
-rw-r--r-- 1 root root    16308 Aug 21 08:37 apt-transport-https_0.8.16~exp12ubuntu10.3_i386.deb
-rw-r--r-- 1 root root   192574 Aug 21 08:37 apt-utils_0.8.16~exp12ubuntu10.3_i386.deb
-rw-r--r-- 1 root root    54114 Sep 14 02:03 bind9-host_1%3a9.8.1.dfsg.P1-4ubuntu0.3_i386.deb
-rw-r--r-- 1 root root   137468 Mar 23  2012 curl_7.22.0-3ubuntu4_i386.deb
-rw-r--r-- 1 root root   367572 Sep 21 01:33 dbus_1.4.18-1ubuntu1.1_i386.deb
-rw-r--r-- 1 root root    21508 Sep 21 01:33 dbus-x11_1.4.18-1ubuntu1.1_i386.deb
 ........

このキャッシュされたパッケージファイルを削除する方法を調べてみたところ,apt-getコマンドでcleanを指定してやればよいようです。(詳しくはman apt-getを参照のこと。)

つまり,apt-get cleanを実行すると,/var/cache/apt以下のファイルを(ロックファイルを除いて)削除してくれます。

実行前の/var/cache/aptの容量は330M強でした。

$ du /var/cache/apt
4       /var/cache/apt/archives/partial
293812  /var/cache/apt/archives
338624  /var/cache/apt

sudo apt-get cleanを実行します。

$ sudo apt-get clean

実行後の/var/cache/aptの容量は0.3Mに減りました。めでたしめでたし。

$ du /var/cache/apt
4       /var/cache/apt/archives/partial
300     /var/cache/apt/archives
304     /var/cache/apt
$

マニュアルページも書かれているように、時々手動で実行してキャッシュをクリアしてやるとよいようです。

YAPC::Asia 2012のトーク「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に!」の動画が公開されました

Updated:

YAPC::Asia 2012のトーク「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に!」の動画が公開されました。(44分)

また,スライドもslideshareで公開していますので,あわせてご覧ください。