nginx

nginxでvirtualhostを設定する

More than 3 years have passed since last update.

nginxにvirtualhost設定をしたときのメモ。

環境


  • VirtualBox 4.3
  • ubuntu 14.04
  • nginx 1.6.2

default.conf設定


/etc/nginx/conf.d/default.conf

server {
    listen       80;
    server_name  hoge1.com;

    access_log  /var/log/nginx/log/hoge1.access.log  main;

    location / {
        root   /usr/share/nginx/html/hoge1;
        index  index.html index.htm;
    }
}

server {
    listen       80;
    server_name  hoge2.com;

    access_log  /var/log/nginx/log/hoge2.access.log  main;

    location / {
        root   /usr/share/nginx/html/hoge2;
        index  index.html index.htm;
    } 
}

server {
    listen       80;
    server_name  hoge3.com;

    access_log  /var/log/nginx/log/hoge3.access.log  main;

    location / {
        root   /usr/share/nginx/html/hoge3;
        index  index.html index.htm;
    }
}            

※hoge1,hoge2,hoge3.comを用意した

configtestをしてみる

$ sudo /etc/init.d/nginx configtest
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

※問題無し

location-root(documentroot)にディレクトリを用意し、index.htmlを配置


$ cd /usr/share/nginx/
$ sudo mkdir hoge1 hoge2 hoge3
$ cd hoge1
$ sudo vim index.html
----
hoge1.com
----
※hoge2,hoge3にも同じ事をします

ポートフォワーディング(windows + virtualbox + ubuntuのみ)


virtualbox + ubuntu tipsの「ubuntuへwindowsからターミナルで接続したい」を参考に、ubuntuへの80へのポートフォワーディング設定をする。
※とりあえずホスト「10000」、ゲスト「80」に設定した

windowsのhostsファイルを設定する(windows + virtualbox + ubuntuのみ)


nginxのconfに設定したドメインを解決させる
C:\Windows\System32\drivers\etc\hosts

127.0.0.1   hoge1.com
127.0.0.1   hoge2.com
127.0.0.1   hoge3.com

nginxを再起動する


$ sudo /etc/init.d/nginx restart

ブラウザで確認


http://hoge1.com:10000/index.html
http://hoge2.com:10000/index.html
http://hoge3.com:10000/index.html

ログ確認


$ cd /var/log/nginx/log
※hoge*.access.logにアクセスログが出力されます