nginx バーチャルホスト設定ではまった
Ubuntu 18.04 LTSで試しています。
nginx + wordpress + mariadbでwordpressを一つのVPSで複数サイト運用してみる上で、nginxのバーチャルホストの設定を理解する必要があるかと思います。
nginxでHTTPリクエストを受けて受け取ったドメイン名やURLごとにリクエストをアプリケーションに転送するイメージでしょうか。
まずはnginxのインストール
$ sudo apt-get install nginx
将来的に1サーバでいろいろなサービスをつめこむためにnginxのバーチャルホストを設定してみます。いくつかやり方がありますが、ここでは/etc/nginx/site-available/以下にconfファイルを作成する方法になります。
/etc/nginx/sites-available/xxxx.conf
を作成し、これをベースにリンクファイルを作成します。
$ sudo ln -s /etc/nginx/sites-available/xxxx.conf /etc/nginx/sites-enable/xxxx.conf
/etc/nginx/sites-enable/xxxx.conf
というファイルができるかと思います。
ちなみに私が躓いた点が。このときのエラーログがこれ。全然意味不明です。。
conflicting server name “” on 127.0.0.1:80, ignored
/etc/nginx/sites-available/xxxx.conf
/etc/nginx/sites-available/yyyy.conf
と2つサイトをホストしたいわけです。でもどうしてもホスト名で行き先をわけてくれません。
$ sudo nginx -t
の結果もOKです。conflicting..のwarnはでますが。
で休日1日かけて判明した原因は。。
誤:
server {
index index.php
正:
server {
index index.php;
とindexのセミコロンが両ファイルで抜けているのが原因でした。。(2つはコピーしてつくってありますからね。。)
まあこんなところで躓くひとはいないとは思いますが。。