ホーム Linux CentOS 7 nginxでバーチャルホストの設定

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

7889
0

以前Apacheでのバーチャルホストの設定方法をご紹介しました。

今回は、そのnginx編をご紹介したいと思います。
バーチャルホストの設定は複数の方法がありますが、比較的簡単に出来る物をご紹介したいと思います。

以下が設定するドメインとドキュメントルートとしますので、
実際に登録する際は、ご自身のサーバーにあった設定にしてください。

■使用するサンプルドメイン
example.com
example1.com
example2.com

■今回使用するドキュメントルート
/var/www/vhosts/example.com/httpdocs
/var/www/vhosts/example1.com/httpdocs
/var/www/vhosts/example2.com/httpdocs

バーチャルホスト設定 その1

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

上記の設定ファイルを管理者権限で開き、ファイルの一番下に以下の設定を追記します。

server {
    listen       80;
    server_name  example.com;
    access_log  /var/log/nginx/example.com_access.log  main;

    location / {
        root   /var/www/vhosts/example.com/httpdocs;
        index  index.html index.php;
    } 
}

server {
    listen       80;
    server_name  example1.com;
    access_log  /var/log/nginx/example1.com_access.log  main;

    location / {
        root   /var/www/vhosts/example1.com/httpdocs;
        index  index.html index.php;
    }
}

server {
        listen 80;
        server_name example2.com;
        access_log /var/log/nginx/example2.com_access.log main;

        location / {
            root /var/www/vhosts/example2.com/httpdocs;
            index index.html index.php;
    }
}

バーチャルホスト設定 その2

ディレクトリの作成

/etc/nginx以下に2つのフォルダを作成し、サイトを簡単に閉鎖するための設定。

■設定ファイル実体を置く場所
# mkdir /etc/nginx/sites-available

■設定ファイルのシンボリックリンクを置く場所
# mkdir /etc/nginx/sites-enabled

シンボリックリンクを削除することによって簡単にバーチャルホストのサイトを閉じることが可能になります。

sites-availableに設定ファイルを配置

# vi /etc/nginx/sites-available/example.com

server {
listen 80;
    server_name example.com;
    access_log /var/log/nginx/example.com_access.log main;

location / {
    root /var/www/vhosts/example.com/httpdocs;
    index index.html index.php;
    }
}

上記の様に必要なドメイン分設定ファイルを作成します。

複数分設定ファイルの作成が終わったら、シンボリックリンクを貼ります。

# cd /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-available/example.com example.com
# ln -s /etc/nginx/sites-available/example1.com example1.com
# ln -s /etc/nginx/sites-available/example2.com example2.com

nginx.confファイルに、include設定

nginx.conf ファイルにsites-enabledに対してインクルードさせる記述を追記します。
記述する場所は、nginx.confの最下部の } の上で大丈夫です。

# vi /etc/nginx/nginx.conf
include /etc/nginx/sites-enabled/*;

nginxの再起動

すべての設定が終わったら、nginxを再起動して、confファイルを読み直します。
設定がうまく言っていれば、それぞれのドメインでサイトが表示されます。

# systemctl restart nginx

[ad#g]

[ad#g]