ローカルのnginxでバーチャルホストの設定を行う

● nginxでバーチャルホストの設定

・設定ファイル

/etc/nginx/nginx.conf

・バーチャルホストの作成

設定ファイル default.conf/etc/nginx/conf.d/ に作成します。

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

default.conf の内容

server {
    listen       80;
    server_name  site1.local;
    access_log  /var/log/nginx/site1.access.log  main;
    location / {
        root   /usr/share/nginx/site1;
        index  index.html index.htm;
    }
}

server {
    listen       80;
    server_name  site2.local;
    access_log  /var/log/nginx/site2.access.log  main;
    location / {
        root   /usr/share/nginx/site2;
        index  index.html index.htm;
    } 
}

・設定ファイルの確認

nginx -t

・バーチャルホストを格納するディレクトリの作成

mkdir /usr/share/nginx/site1
mkdir /usr/share/nginx/site2

・nginxを再起動する

nginx -s reload

・マシンの ip アドレスを調べて hosts ファイルに記述する

・まずコマンド ip a でローカルマシンの ip アドレスを調べます。( Vagrant等で構築している場合 )
・次に調べた ip アドレスをローカルマシンのホストの hosts ファイルに書き込みます。

vi /etc/hosts
# local nginx virtual host
192.168.33.10   site1.local
192.168.33.10   site2.local

・ログファイルの所有者をnginxにする

ログファイルを開く権限がなくてエラーが出る場合は下記のようにログファイルの所有者を変更します (例:ログファイルの所有者をnginxに変更する)

chown nginx /var/log/nginx/error.log 
chown nginx /var/log/nginx/access.log 
chown nginx /var/log/nginx/site1.access.log
chown nginx /var/log/nginx/site2.access.log

・バーチャルホストにアクセスする

WEBブラウザのアドレス欄からアクセスします
http://site1.local/

No.1106
07/05 15:53

edit