Virtual Hostで複数ドメインを設定する
お名前.comにてドメインを取得する
以下は下記を参考に進める。
今回はmack.site
とwww.mack.site
をアクセスした際に別のindex.html
を表示させるのがゴール
注意事項
- 下記箇所の書き方の意味を理解できず同じように記述してしまい、
mack.site
とwww.mack.site
で別のページを表示することができず。 この記述はwww.nikukyu.club
とnikukyu.club
で同一のページを表示させるときの設定であることに気づきました。
server { listen 80; server_name www.nikukyu.club; access_log /home/demo/public_html/nikukyu.club/log/access.log; error_log /home/demo/public_html/nikukyu.club/log/error.log; location / { root /home/demo/public_html/nikukyu.club/public/; index index.html index.php; } } server { listen 80; server_name nikukyu.club; access_log /home/demo/public_html/nikukyu.club/log/access.log; error_log /home/demo/public_html/nikukyu.club/log/error.log; location / { root /home/demo/public_html/nikukyu.club/public/; index index.html index.php; } }
access_log /home/demo/public_html/nikukyu.club/log/access.log;
これらのディレクトリの設定はきちんと自分の環境で試さないと
エラーが必ず出ます。その際はnginx -t
コマンドで確認すると分かりやすいです。
私の実行環境では
access_log /home/mackxxx/demo/public_html/mackxxx.site/log/access.log;
でした。ハマりました。
- 今回はシンボリックリンクを2つ作成する必要があります。
$ sudo ln -s /etc/nginx/sites-available/mackxxx.site /etc/nginx/sites-enabled/mackxxx.site
$ sudo ln -s /etc/nginx/sites-available/www.mackxxx.site /etc/nginx/sites-enabled/www.mackxxx.site
- シンボリックリンクの削除の仕方
$ sudo ls -l
$ sudo unlink
コマンド例
mackxxx@xxxxxxxx:/etc/nginx/sites-enabled$ ls -l total 4 lrwxrwxrwx 1 root root 34 Dec 4 01:27 default -> /etc/nginx/sites-available/default lrwxrwxrwx 1 root root 39 Dec 6 16:21 mackxxx.site -> /etc/nginx/sites-available/mackxxx.site -rw-r--r-- 1 root root 305 Dec 6 23:58 www.mackxxx.site mackxxx@xxxxxxxxx:/etc/nginx/sites-enabled$ sudo unlink www.mackxxx.site
sites-enabled
のところでls-la
コマンドでシンボリックリンクが作成されているかどうか確認できます。
mackxxx@xxxxxxx:/etc/nginx/sites-enabled$ ls -la total 8 drwxr-xr-x 2 root root 4096 Dec 7 00:13 . drwxr-xr-x 8 root root 4096 Dec 4 01:27 .. lrwxrwxrwx 1 root root 34 Dec 4 01:27 default -> /etc/nginx/sites-available/default lrwxrwxrwx 1 root root 39 Dec 6 16:21 mackxxx.site -> /etc/nginx/sites-available/mackxxx.site lrwxrwxrwx 1 root root 43 Dec 7 00:13 www.mackxxx.site -> /etc/nginx/sites-available/www.mackxxx.site
よく使うコマンド
設定ファイルをいじった後はこれをしないと設定が反映されません。
$ sudo /etc/init.d/nginx stop # nginxをストップ $ sudo /etc/init.d/nginx start # nginxを起動