[Nginx] 再起動前にnginxコマンドで文法チェックや設定誤りを確認をする方法。

Nginxで設定ファイルを変更したときに以下のエラーが出ることがあると思います。

nginx: configuration file /etc/nginx/nginx.conf test failed

これはNginxの設定ファイルの文法エラーになります。

事前に回避するためにNginxの文法チェック方法を紹介します。

目次

Nginxの文法チェック(Syntax Validation)

Niginxの文法チェックや設定誤りは簡単で以下のコマンド可能です。

nginx -t

文法に問題がなければSuccessfulが出力されます。

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

文法に問題がある時は以下のように出力されます。

nginx: [emerg] "upstream" directive is not allowed here in /etc/nginx/nginx.conf:12
nginx: configuration file /etc/nginx/nginx.conf test failed

このエラーは/etc/nginx/nginx.conf の12行目に問題があり、upstreamはここでは指定できないためエラーとなっています。

また設定に問題がある時は以下のように出力されます。

nginx: [emerg] cannot load certificate "/etc/ssl/example.com.full.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/ssl/example.com.full.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed

このエラーはSSL証明書のファイルが存在しないためエラーとなっています。

よかったらシェアしてね!
  • URLをコピーしました!
目次