家庭内 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 の内容が表示された。
