410gone.click

©2021 sumomo-99

[nginx] 設定ファイルをチェックする方法

更新日: 2021-04-11T07:08:10.269Z

nginx

nginxの設定ファイルの文法やスペルを間違っていると、nginxの起動が失敗します。
文法やスペルミスはセルフチェックでは気づきにくいときがあります。特にスペルミスなどは自分の思い込みで、「このスペルであっているはずだ!!」と、なりがちではないでしょうか?
nginxには設定ファイルの文法やスペルミスをチェックしてくれるオプションがあります。
 

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

以下のコマンドで、nginxの設定ファイルをチェックすることができます。

$ sudo nginx -t

 
チェックに成功した場合の実行例です。

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

'test is successful'と成功していますね。
 
これは、テストを実行したユーザの権限不足でエラーになった例です。

$ nginx -t
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2018/02/22 11:48:43 [warn] 29347#29347: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:2
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2018/02/22 11:48:43 [emerg] 29347#29347: open() "/var/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed

'test failed'です。'Permission denied'となっているので、nginxの実行ユーザもしくはsudoを付けて実行しましょう。
 
設定ファイルのパスを指定するにはcオプションを利用します。
以下は、間違いがある設定ファイルを用意してチェックした例です。

$ diff /etc/nginx/nginx.conf /etc/nginx/nginx.conf.invalid
2c2
< user nginx; --- > user  nginx
$
$ sudo nginx -t -c /etc/nginx/nginx.conf.invalid
nginx: [emerg] invalid number of arguments in "user" directive in /etc/nginx/nginx.conf.invalid:3
nginx: configuration file /etc/nginx/nginx.conf.invalid test failed

'test failed'です。/etc/nginx/nginx.conf.invalidの3行目に問題があるそうです。
間違っている箇所を指摘してくれるので、修正が楽になりますね。
 
以上、nginxの設定ファイルをチェックする方法の紹介でした。