Linuxで複数のWebサイトを運営する場合、WebサーバーアプリとしてApacheやNginxを利用しているなら、1台のWebサーバー上で複数のWebサイトを公開できるバーチャルホスト機能が便利です。
そこでここでは、Nginxのバーチャルホスト機能を使って、1台のWebサーバー上で2つのWebサイトを公開する方法を紹介します。
バーチャルホストの設定
たとえば、Nginxですでに1つのWebサイト(example.com)を公開している環境で、追加のWebサイト(sub.example.com)を公開したいときは、Nginxの設定ファイルに追加のWebサイト用のserverディレクティブを追記するだけです。
なお、記述内容は、既存サイトの設定をコピーしてから待ち受けホスト名などの個別設定部分を修正するとよいでしょう。
server {
server_name example.com;
root /user/share/nginx/site1;
・・・ ・・・
・・・ ・・・
access_log /var/log/nginx/site1.access.log main;
error_log /var/log/nginx/site1.error.log;
・・・ ・・・
・・・ ・・・
}
server {
server_name sub.example.com;
root /usr/share/nginx/site2;
・・・ ・・・
・・・ ・・・
access_log /var/log/nginx/site2.access.log main;
error_log /var/log/nginx/site2.error.log;
・・・ ・・・
・・・ ・・・
}
あとがき
1台のサーバーで複数のWebサイトを稼働させた場合、サーバーが止まると、すべてのサイトが停止してしまうリスクはありますが、サーバーリソースの有効活用という意味ではメリットが十分あるのではないでしょうか。