Nginxにデフォルトのバーチャルホストを設定する

家庭内 LAN 向けにバーチャルホストをたてようというのが動機。現状では、サーバに HTTP でアクセスすると Sinatra アプリが応答してしまっていた。
設定方法は↓このページが参考になった。

 cf. nginxでデフォルトのバーチャルホストを設定する方法 – Linux入門

答えは簡単で、listen ディレクティブに default_server と書き足すだけでいい。これがないと、最初に読み込まれたバーチャルホストがデフォルトになるので、今まで Sinatra アプリのサーバが応答していたってわけだ。

/etc/nginx/sites-available に nightschool という名前で設定ファイルを作って、/etc/nginx/sites-enabled 以下にシンボリックリンクを作成。作った設定ファイルはこれ。

server {
    # port
    listen 80 default_server;

    # server name
    server_name nightschool;

    # document root
    root /var/www/html;

    # index
    index index.php index.html index.htm;

    # log files
    access_log /var/log/nginx/nightschool/access.log combined;
    error_log /var/log/nginx/nightschool/error.log warn;
}

ドキュメントルートとログファイルのためのディレクトリを作って、ドキュメントルートには index.html ファイルをおいた。

<html>
  <body>
    <h1>Hello, welcome!</h1>
    This is nightschool.
  </body>
</html>

あとは Nginx を再起動して完了。

takatoh@nightschool $ sudo service nginx stop
takatoh@nightschool $ sudo service nginx start

確認のために Windows PC からアクセスしたところ、ちゃんと index.html の内容が表示された。

default-vhost

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください