nginxのバーチャルホストを設定
まず、バーチャルホストという言葉を初めて聞いたので、バーチャルホストについて調べてみる。
バーチャルホスト(Virtual Host)とは1つのサーバで複数のドメインを運用する技術のことで、Webサーバ、メールサーバなどで利用される。
もちろんへっぽこプログラマーなのでドメインという言葉を聞いたことはあるが、よくわかっていない。そこで、ドメインについても調べる。
ドメインとは、ネットワークに接続しているコンピュータの場所を示すインターネット上の「住所」にあたります。「住所」ですから、同じものは世界にふたつとありません。たったひとつだけです。ドメイン取得は先着順になっており、基本的に、先に取得した人がいた場合は、後から申請しても取得できません。裏をかえせば、どんなドメインでも最初に申請すれば、それがあなたの「住所」になります。
バーチャルホストを使えば複数の住所をもつことができるということなのだろう。バーチャルホストの設定は/etc/nginx/sites-available/の下に書く。
server { listen 80; server_name korosuke.com.local; access_log /var/log/nginx/localhost.access.log; error_log /var/log/nginx/localhost.error.log; location / { root /usr/share/nginx/test; index index.html; } }
/etc/nginx/sites-enabled/の下のファイルにシンボリックリンクを張る
あるファイル、ディレクトリにアクセスした際に、別のファイル、ディレクトリを参照できるようにする「リンク」機能。
ハマった点
Macのローカルの中の /private/etc/hostsファイルにも設定を書かなければいけない。ここを書いていないため、どつぼにはまっていた。
192.168.56.101 korosuke.com.local
追記
バーチャルホストの設定を1つしか書いてなかったので、もう1つ設定を書き加えたいと思います。
1 まずローカルのMacのhostsファイルに新しいドメインを足す。わかりづらいのですがkorokoro.com.localというドメインを追加しました。
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 192.168.56.101 korosuke.com.local 192.168.56.101 korokoro.com.local
2 次にdebianにある/etc/nginx/sites-availableの下にあるバーチャルホストの設定ファイルに新しい設定を追加をします。
server { listen 443 ssl; ssl on; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; server_name korosuke.com.local; access_log /var/log/nginx/localhost.access.log; error_log /var/log/nginx/localhost.error.log; location / { root /usr/share/nginx/test; index index.html; } } server { listen 443 ssl; ssl on; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; server_name korokoro.com.local; access_log /var/log/nginx/localhost2.access.log; error_log /var/log/nginx/localhost2.error.log; location / { root /usr/share/nginx/test2; index index.html; } }
3 nginxを再起動させhttps://korokoro.com.localに接続します。