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証明書のファイルが存在しないためエラーとなっています。
NginxのTIPSリンク集
- Nginxのログフォーマット設定と出力ログの見方を解説
- Nginxを再起動前にコマンドで文法チェックや設定誤りを確認をする方法
- [Nginx]オレオレCA認証局でSSL通信をする手順。サーバ証明書・秘密鍵・証明書署名要求の作成方法
- [Nginx]オレオレCA認証局を利用したクライアント証明書通信をする手順
- Nginxのログ一覧・ログ設定・ログ出力先の確認・設定方法を解説
- NginxでBasic認証の設定する方法
- Nginxの設定ファイル(.conf)の書き方と設定方法
- Nginxでリバースプロキシの構築・設定方法
- NginxでSSL設定してHTTPS通信をする手順
- NginxのVirtualhostを使って1つのサーバーでサブドメインを公開する手順
- [Nginx] サブディレクトリのアクセスを異なるWebサーバーにアクセスを振り分ける方法