nginx バーチャルホスト設定ではまった

2019年5月10日

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つはコピーしてつくってありますからね。。)

まあこんなところで躓くひとはいないとは思いますが。。

nginx

Posted by kitakantech