設定ファイルに構文エラーがないか確認する(nginx -t)

広告

Nginx の設定ファイル(nginx.conf)の内容を編集した場合に、 Nginx を起動する前に設定ファイルの内容に問題がないかどうかチェックすることができます。ここでは Nginx の設定ファイルの内容をチェックする方法について解説します。

設定ファイルの内容をチェックする

Nginx の設定ファイル(nginx.conf)の内容を変更した場合に、Nginx を起動する前にファイルの内容に間違いがないか事前にチェックする方法です。コマンドプロンプトまたは PowerShell を起動し、 Nginx をインストールしたディレクトリへ移動してください。

設定ファイルの内容をチェックする(1)

次のように実行してください。

nginx -t

設定ファイルに問題がなかった場合には次のように表示されます。

設定ファイルの内容をチェックする(2)

nginx: the configuration file xxx/nginx.conf syntax is ok
nginx: configuration file xxx/nginx.conf test is successful

設定ファイルの内容に間違いがある場合

今度は設定ファイルに間違いがあった場合を試してみます。最初にディレクティブの最後のセミコロンを書き忘れていた場合です。

pid  logs/nginx.pid

先ほどと同じコマンドを実行すると次のようにエラーが表示されました。

設定ファイルの内容をチェックする(3)

nginx: [emerg] directive "pid" is not terminated by ";" in xxx/nginx.conf:12
nginx: configuration file xxx/nginx.conf test failed

セミコロンで終わっていないというエラーの理由やエラーとなった行番号が表示されます。

次に server コンテキスト内に記述する server_name ディレクティブを http コンテキストに記述した場合です。

http {
  server_name  localhost;
}

先ほどと同じコマンドを実行すると次のようにエラーが表示されました。

設定ファイルの内容をチェックする(4)

nginx: [emerg] "server_name" directive is not allowed here in xxx/nginx.conf:18
nginx: configuration file xxx/nginx.conf test failed

server_name ディレクティブをここには記述できないというエラーの理由やエラーとなった行番号が表示されます。

このように設定ファイルを内容を変更した場合に、 Nginx を起動する前に事前にチェックすることができます。

-- --

Nginx の設定ファイルの内容をチェックする方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。