Nginxを使ってWebサーバ構築。今回はバーチャルホストを設定します。Linuxサーバ構築手順まとめ
Nginxでバーチャルホストを設定してみます。
本連載では、Linux上で様々なサーバソフトウェアのインストール手順、操作・設定方法を解説していきます。嵌まりそうなポイントや細かい部分の説明していきます。Linuxでサーバ構築する際の参考にして下さいね。
間があいてしまいましたが、満を持しての再開です!今回からはNginx応用編です。
前回の「Nginx設定編⑤locationディレクティブを読む。Linuxサーバ構築手順まとめ」までで、server,locationなど、重要なディレクティブの内容を細かく見ていきました。今回からはそれらの設定をいじり、NginxのWebサーバとしての挙動をカスタマイズしていきます。応用編第一回は「バーチャルホストの設定」です。
バーチャルホストとは
バーチャルホストとはWebサーバの機能の一つで、単一サーバ上に複数のドキュメントルートを作成することができる機能です。これにより、下図のように、別URLでアクセスしても同一Webサーバ上にアクセスされ、且つ別領域のコンテンツを表示するといった処理が可能になります。バーチャルホストはApacheやIISでも当然のように用意されている機能で、Nginxも例外ではありません。
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サーバにアクセスできるわけではありません。