Nginx設定ファイルをデバッグするため、任意の変数をログに出力する方法
Nginxの設定ファイルでは変数やif文を使用できる。
その変数をデバッグしたい時にログに出力する方法のメモ。
新しいログフォーマットを作る
/etc/nginx/nginx.confの httpブロック内に log_formatの設定を追加する。
http{ log_format debug_val_format "$debug_val"; ... }
※注
include /etc/nginx/sites-enabled/*;
よりも前に追加すること
ログを出力する
/etc/nginx/sites-available ディレクトリにある目的の設定ファイルで、 serverブロックに以下の設定を追加する。
$hogehogeという変数を確認したい時の例。
server{ ... set $debug_val "$hogehoge"; access_log /var/log/nginx/debug_val.log debug_val_format; ... }
ログの確認
設定後 force_reload。 サイトにアクセスすると /var/log/nginx/debug_val.log に $hogehoge の内容が書きだされる。
もっと楽な方法がありそうな気はする。 httpヘッダーに出してしまうとか。