Nginx応用編①バーチャルホストを設定する。Linuxサーバ構築手順まとめ

この記事は2014年11月1日に書かれたものです。内容が古い可能性がありますのでご注意ください。


Nginxを使ってWebサーバ構築。今回はバーチャルホストを設定します。Linuxサーバ構築手順まとめ

Nginxでバーチャルホストを設定してみます。

本連載では、Linux上で様々なサーバソフトウェアのインストール手順、操作・設定方法を解説していきます。嵌まりそうなポイントや細かい部分の説明していきます。Linuxでサーバ構築する際の参考にして下さいね。

間があいてしまいましたが、満を持しての再開です!今回からはNginx応用編です。
前回の「Nginx設定編⑤locationディレクティブを読む。Linuxサーバ構築手順まとめ」までで、server,locationなど、重要なディレクティブの内容を細かく見ていきました。今回からはそれらの設定をいじり、NginxのWebサーバとしての挙動をカスタマイズしていきます。応用編第一回は「バーチャルホストの設定」です。

バーチャルホストとは

バーチャルホストとはWebサーバの機能の一つで、単一サーバ上に複数のドキュメントルートを作成することができる機能です。これにより、下図のように、別URLでアクセスしても同一Webサーバ上にアクセスされ、且つ別領域のコンテンツを表示するといった処理が可能になります。バーチャルホストはApacheやIISでも当然のように用意されている機能で、Nginxも例外ではありません。

バーチャルホストイメージ

バーチャルホストイメージ

※これには、「このURLにアクセスしたときにこのホストを参照する」というDNS、ドメインの設定が必要になりますが、今回は割愛します。

Nginxでバーチャルホストの設定をしてみよう。

それでは実際にNginxでバーチャルホストを設定していきましょう。
まず、設定ファイルのserverディレクティブを複製します。

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

serverディレクティブはコメントアウトも含め、結構量が多いので、必要最低限の内容で複製します。

server {
    listen       80;
    server_name  localhost;
~省略~
}
server {
    listen       80;
    server_name  server1.com;
    location / {
        root   /usr/share/nginx/html/server1;
    }
}
server {
    listen       80;
    server_name  server2.com;
    location / {
        root   /usr/share/nginx/html/server2;
    }
}
server {
    listen       80;
    server_name  server3.com;
    location / {
        root   /usr/share/nginx/html/server3;
    }
}

既存のserverディレクティブは長いので省略しました。6行目以降が追加した内容です。
3つのバーチャルホスト用のserverディレクティブを追加しています。
注目したいのは「server_name」ディレクティブと「location」ディレクティブ内の「root」で、各serverディレクティブで別の名称、パスを設定しています。ここを同じにしてはいけません。
ちなみにserver_nameで指定している「server1.com」というドメイン名は仮でつけているだけで、これをブラウザに打ち込んだからといって、どこからでもこのNginxサーバにアクセスできるわけではありません。

ページ:

1

2 3
  • このエントリーをはてなブックマークに追加

PAGE TOP