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