LoginSignup
4
2

More than 5 years have passed since last update.

nginx virtualhost 設定メモ

Last updated at Posted at 2016-12-23

はじめに

Dockerのnginxでvirtualhost試したいと思います
そもそもDockerのオプション使えって話かもしれませんが。。

ホスト側環境

Dockerはインストール済みということで。
foderaでやってます

cat /etc/redhat-release

->Fedora release 24 (Twenty Four)

nginx立ち上げる

docker run --name test-nginx -d -p 8080:80 nginx

まずは確認
http://localhost:8080/

welcomeみたいなのが出てたらおっけです

virtualhostの設定

やりたいこと

1つのipアドレスに対して2つのFQDNを使えるようにする
そのために、virtualhostを利用する。
ちなみにipはローカルを使う。(そもそもLAN内での接続が前提です)

要素

一つ目のホスト->www.test1.co.jp
二つ目のホスト->www.test2.co.jp
ipアドレス->127.0.0.1(まぁ、ローカルホストです)

#コンテナのファイルをいじりますので。
docker exec -it test-nginx bash

#vim install ファイルをコピーでもいいんですが。。
apt-get update
apt-get install vim -y

#ファイルを作成します
mkdir /var/www/test1
mkdir /var/www/test2
echo "<html>test1</html>" > /var/www/test1/index.html
echo "<html>test2</html>" > /var/www/test2/index.html

#該当ファイルを編集します
vi /etc/nginx/conf.d/default.conf 

virtualhostのためのコンフィグ設定

先程の二つを追加で記述します。
saerver_nameにFQDN、
rootにドキュメントルートを書く感じですね。
下記みたいな感じです。

/etc/nginx/conf.d/default.conf
#defaultはそのままで下記を追加

server {
    listen       80;
    server_name  www.test1.co.jp;

    location / {
        root   /var/www/test1;
        index  index.html index.htm;
    } 
}

server {
    listen       80;
    server_name  www.test2.co.jp;

    location / {
        root   /var/www/test2;
        index  index.html index.htm;
    }
}            

設定の確認

/etc/init.d/nginx configtest

成功できたらおっけ。exitする

再起動

docker restart test-nginx

hostsの設定

本当は、DNSサーバーでってなるのですが、
ローカルで試したいので、ホストマシン(今回はfodera)の
/etc/hostsに例の二つを加え、名前解決させます。

127.0.0.1   www.test1.co.jp
127.0.0.1   www.test2.co.jp

最後に確認

http://www.test1.co.jp:8080
http://www.test2.co.jp:8080

それぞれtest1とtest2の文字列が出力されれば成功です。

おわりに

めちゃくちゃ眠い

参考

library/nginx

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2