自分用メモ。
access_logとerror_logはserverコンテキスト内に以下のように記述
access_log /var/log/nginx/{service_domain}.access.log warn; error_log /var/log/nginx/{service_domain}.error.log;
サイト毎に新たにディレクトリを作成するのではなく、
あくまでもnginxのログはすべて/var/log/nginx内で管理する。
こうすることで、/etc/logrotate.d/nginxのデフォルトである「/var/log/nginx/*.log」の設定がそのまま使用できる。
上記の記述をサイト毎に記述し、nginxを再起動すると記述した通りの{service_domain}.access.logと{service_domain}.error.logができるが、これらのファイルの所有権とグループがroot:rootで作成されてしまう。
この記事を見ると、バグ?みたいな感じで書いてあるが詳細は不明。
centos 7 - Nginx creates log files owned by root instead of specified user - Super User
ただ以下のコマンドで、ログを再読込してあげるとnginx.confのuserディレクティブで指定したユーザが所有者になる。ただしグループはrootのまま。
$ nginx -s reopen
なので、結局はchownコマンドで直してあげるしかないのか...