nginxでerror_log出力先を設定ファイルで指定しても`/var/log/nginx/error.log`を読みにいってしまう件
nginx.conf
に
error_log /path/to/error.log;
とか書いて、デフォルトと異なる場所にエラーログを出力するようにしてみたら、起動時に
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
とか警告が出てしまってました。なんで出力先変更したのに/var/log/nginx/error.log
を読みに行ってしまうのか〜、と調べていたら
いつものようにStackOverflowで質問が見つかって、ありがとうございます、と。
なんでも、起動してコンフィグファイルを読みに行くまでの間にnginxはコンパイル時に指定したエラーログ出力先(私の環境の場合(CentOS)は/var/log/nginx/error.log
)を使うとのこと。
How to turn off or specify the nginx error log location? - Stack Overflow
上記から、リンクされている公式ドキュメントにもちゃんと記載がありました。
というわけで、起動時のエラーも/var/log/nginx/error.log
以外に向けたい場合はconfigure
オプションを指定してソースから入れなおすしかないわけだけど、個人的にやりたくないんですよねソースからのインストール。悩ましいぃぃ。