web-dev-qa-db-ja.com

nginx設定ファイルをデバッグする最良の方法?

Apacheからnginxに移植しなければならない書き換えルールがたくさんあります。

リライトルールと「if」条件が期待どおりに機能しているかどうかを確認できないため、これはかなり苦しいプロセスです。

Apacheには、その書き換えモジュールのデバッグがありました。 nginxで何ができますか?

41
Jiho Kang

有効 rewrite_log

rewrite_log on;

error_log ディレクティブ:

error_log /var/log/nginx/localhost.error_log notice;
42
quanta

デバッグサポートを有効にする 、次にerror_logにデバッグレベルを設定します。

error_log   /var/log/nginx/error.log debug;

これで、ログをテールしてリクエストを送信できます。おそらくあなたが望むよりも詳細がありますが、それは時々命の恩人になることができます。

ああ、そしてあなたは 邪悪な場合 、少なくとも場所のコンテキストでは...

15
rossnz

デバッグのためのログと組み込みサポートの使用は、間違いなく最も合理的な方法です。初期段階でルーティングのデバッグをすばやく行っており、ブラウザ/クライアントのみを介してやり取りしたい場合は、 return 4xx "text"; ディレクティブを使用すると、ほんの少しの労力で必要な答えが得られる場合があります。例えば、

http {
  server {
    listen 80;
    server_name mydomain.net;
    return 404 "mydomain 80 route";
  }

  server {
    listen 80 default_server;
    return 404 "default 80 route";
  }
}

返されたWebページのテキストは、リクエストがトリガーされたserverブロックを示します。

お役に立てれば!
アンドレス