5

を使用してnginx構成をテストするとnginx -t、警告が表示されることに気付きました:

nginx: [alert] could not open error log file: open() "/var/logs/nginx/error.log" failed (2: No such file or directory)

/var/log/nginx/nginx のログ パスは実際には notに設定されているため、これは理にかなっています/var/logs/nginx

nginx 構成ディレクトリ全体をスキャンしましたが、/var/logs を参照しているものはありません。このログの場所がどこに書き込まれるのか途方に暮れていますか?

4

3 に答える 3

11

ターミナルで次のコマンドを実行します (注: 大文字の V):

nginx -V

そこに /var/logs がありますか? nginx は、そのデフォルトのファイルの場所でコンパイルされる場合があります。

[編集]

一部のサーバーブロックには「error_log」ディレクティブがないと思います。そのため、nginx はデフォルトのものを試します。デフォルトでは、error_log は常にオンになっていることに注意してください。

この問題を解決するには、メインブロック (最上位) に次の行を追加して、すべての子ブロックが設定を継承できるようにします。

error_log /var/log/nginx/error.log;
于 2013-03-28T01:38:33.240 に答える
2

コンパイル済みのデフォルトが正しくありません。構成をロードする前に nginx が気付くものはすべて、コンパイル時に定義されたエラー ログのパスに移動します。正常なパスを使用して nginx を再コンパイルするか、できない場合はログへのシンボリック リンクをログに記録します。

于 2013-03-29T07:42:03.550 に答える