Daily Archives: 2010 年 12 月 1 日

nginxをyumで簡単構築(インストール,VirtualHostの設定)

0
Filed under nginx, WebServer, 未分類

nginxのyumパッケージがfadoraのサイトに転がってるようなので、
リポジトリを追加する。(サンプルは64bit版)

wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

nginxをyumで簡単インストール。

yum install nginx

とりあえずnginxを起動してみる。apacheでいうところのhttpd start

/etc/rc.d/init.d/nginx start

再起動後もちゃんと起動してくるように起動ファイルを配置する。

ln -s /etc/rc.d/init.d/nginx /etc/rc.d/rc3.d/S88nginx

VirtualHostの設定をする。
Apacheでいうところの の部分。

※Apacheだと、完結にはしょって書くとに以下みたいにかくやつです。


ServerName hoge.com
DocumentRoot /home/hoge/web

これをnginx用に書いてみる。

vi /etc/nginx/conf.d/hoge.conf

server {
listen 80;
server_name hoge.com;

location / {
root /home/hoge.com/web;
index index.php index.pl index.cgi index.html index.htm;
}
}

これで、一応うごく設定にはなってるはずです。
といっても、特殊な場合以外は、VirtualHostの設定はVirtualDocumentRootで済ましたいので、
以下のようにする。

※Apacheの場合のVirtualDocumentRoot。


ServerName local
VirtualDocumentRoot /home/%2+/sub/%1/web

※これの場合、moge.hoge.comだと、/home/hoge.com/sub/moge/webがDocumentRootになる。

これをnginx用にかきなおす。ファイルは、さっきと同じファイルのまま。

server {
listen 80;
server_name ~^(.*)\.hoge.com$;
if (!-d /home/hoge.com/sub/$1) {
rewrite . http://hoge.com/ redirect;
}

# Sets the correct root
root /home/hoge.comf/sub/$1;
}

ついでにアクセスログをvirtualhostに対応したものに変更する。
以下のlog_format形式を追加して、access_logのところで、mainからvhostに切り替える
以下は、変更する個所、追加する個所の抜粋

vi /etc/nginx/nginx.conf

  ※以下を追加。
log_format vhost ‘$host $remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

  ※以下のように追記と修正する。
#access_log /var/log/nginx/access.log main;
access_log /var/log/nginx/access.log vhost;

これで、以下のようにaccess_logに変化が出る。

※変更前

192.168.0.100 – - [30/Nov/2010:20:18:02 +0900] “GET / HTTP/1.1″ 200 25 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)” “-”

※変更後

hoge.com 192.168.0.100 – - [30/Nov/2010:20:18:02 +0900] “GET / HTTP/1.1″ 200 25 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)” “-”
test.hoge.com 192.168.0.100 – - [30/Nov/2010:20:18:02 +0900] “GET / HTTP/1.1″ 200 25 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)” “-”