Nginx と Logrotate とプロセス・ファイルユーザーまわり on ウェブサービス
Published: 2020/4/11
nginx も logrotate も、大体のサーバーにおいては root 権限で動いている。 nginx は 80 ポートを listen するために root であるべきだし、 logrotate はあらゆるログの rotation を管理する、という構造になっているので、 root じゃないと困る。
nginx は、 access_log などを作成するときには、それを root:root で作成する。 パッとドキュメントを読んだ感じ、それは不可避的である様子。 logrotate は、 rotate した際のファイルの owner は、任意に指定できるようになっている。
であるならば、例えばもしウェブアプリをデプロイしていて、そのアプリケーションの実行ユーザーが個別に作成されているのならば、
- nginx はそのアプリケーションの動的ファイル置き場に access_log などを設定し、
- logrotate でもってアプリケーションユーザーの owner に変更していく
のが妥当そうだ。
Tags: nginxlogrotate
関連記事
Nginx と upstream と SSL(https) とロードバランシング
2022/4/23
Nginx の log_format を変更したけれども反映されずハマった話
2021/12/16