今までいろいろと苦しめられてきた(汗)nginxのデバッグについて。
まず任意の文字や変数をログに出すことができます。
Contents
変数の出力
まず/etc/nginx/nginx.confでdebugのログフォーマットを決めます。
ここに$varという変数を埋め込むようにします。変数名はもちろんなんでもいいです。
1 |
log_format debug_log_fmt "[DEBUG][$time_local] $var" |
あとは実際にaccess_logかerror_logの出力箇所でさきほどのフォーマットを選び、出力したいデータを$varにセットします。
1 2 3 |
set $var $remote_addr; access_log /var/log/nginx/samplehost.log debug_log_fmt; |
rewriteデバッグ
こちらaccess_logかerror_logのログレベルをdebugかnoticeにしておけば具体的にどのパターンに合致しているのかを出力してくれます。
Nginx の rewrite(リダイレクト) をデバッグする
これで大分設定が楽になりそうです。
小ネタ
nginxのif構文ですがifと()、{}の間はそれぞれスペースが入っていないと構文エラーになります
また文字列であっても'(クオート)でくくったりはしなくてOKです。
[…] nginxのデバッグ […]