nginx -t の使い方

nginx の設定を確認

書き方

nginx -t

設定ファイルの文法をチェックします。

よく使うオプション

オプション意味
-t設定ファイルの書き方を確かめる
-T確かめたうえで、読んだ設定を全部出す
-s reload動いている nginx に設定を読み直させる
-v / -V版を出す(-V はビルドの設定も)

例

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

/etc/nginx/nginx.conf と、そこから読む conf.d/*.conf の書き方を確かめます。

$ sudo nginx -t -qnginx: [emerg] directive "proxy_pass" is not terminated by ";" in /etc/nginx/conf.d/app.conf:9
nginx: configuration file /etc/nginx/nginx.conf test failed

-q を付けると、OK のときは何も出ません。誤りがあると、ファイルと行番号が出ます。この例は ; の書き忘れです。

$ sudo nginx -t && sudo nginx -s reload

確かめて OK のときだけ読み直します。止めずに設定を反映できます。

$ sudo nginx -T | grep -n server_name

読んだ設定を全部出し、server_name がどのファイルのどこに書かれているか探します。

よくある間違い・注意

  • 設定を変えたら reload の前に nginx -t をします。誤りのまま restart すると、サイトが止まります。
  • nginx から裏のアプリにつなげないとき(502)は、SELinux で httpd_can_network_connect が off のことがあります。

実際に打って練習する

Linux レベル2 コースの Lv74「取り次ぎ役 nginx」で覚えます(第6章 館と広間(Web と共有のサーバー))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、ゴールド以上のプランで遊べます。

Linux サーバー構築のコマンド一覧(LinuC レベル2 の範囲)へ戻る