nginx に Webサーバーを変えてみた(正確にはサーバーを変えてみた)
twitter でツイートした nginx 1.0リリース。熱が冷めぬうちに自分のブログを移設してみた。
nginxは HTTPサーバー(だけじゃないけど)ですね。広く利用されている Apacheと比較して軽い・早いと評判を聞き、最近オープンしているサービスも nginx 使っているのもあるので使ってみたかったのでした。インストール好きとしては。
なんで nginx かというと、単に使ってみたいというのが大きな理由なんだけど
今度リリースする予定のサービスが高負荷になるかもしれなくて、クラウドなどは利用するとして Apache というここまでほぼ一択で来ていた Webサーバーの選択について見直してみようかという思いもあったからです。
Apache 自体そんなにあれこれチューニングできるレベルには達してないけど、簡単な設定ならスイスイ設定できるくらい慣れ親しんでいる。ちょっとくらいのトラブルであればなんとか復旧もできる。
しかし、より高いパフォーマンス・安定しているという話を聞き、何時までも枯れたWebサーバーに甘んじるのではなく、個人的にもスキルが停滞しているし、ここはひとつ重い腰を動かすことにした。
で、さくらVPSに ubuntu いれたサーバーがあったのでそこに突っ込んだ。
というわけでメモ残し。
nginx インストール
$ sudo su -
# nginx=stable
# add-apt-repository ppa:nginx/$nginx
# aptitude update
# aptitude install nginx
majima.net 用バーチャルホストの設定
/etc/nginx/site-available/www.majima.net を作成
server {
listen 80;
server_name www.majima.net;
access_log /var/log/nginx/majima.net-access.log combined;
location / {
root /var/www/majima.net;
index index.php index.html index.htm;
# static files
if (-f $request_filename) {
expires 30d;
break;
}
# request to index.php
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/majima.net$fastcgi_script_name;
}
}
で、設定を有効にするために
ln -s /etc/nginx/site-available/www.majima.net /etc/nginx/site-enable/
/etc/init.d/nginx configtest
/etc/init.d/nginx reload
結構簡単だったな。
WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc
を参考に、proxy cache も組み込んでみたけど大きく早くなったような気もしないので、うまくいっていないかもしれんので、詳しくは上記を見てください。