问题描述
我不知道如何为我的python应用程序(由Nginx反向代理后面的Gunicorn 20.0.4提供)干净地配置日志轮转。 Official Gunicorn文档指出:
如果使用logrotate,则发送USR1信号以旋转日志 实用程序:kill -USR1 $(cat /var/run/gunicorn.pid)
我不确定我应该定位哪个pid文件以及上面logrotate指令应驻留的位置(postrotate或其他)。
SystemD服务
# /etc/systemd/system/my_app.service
[Unit]
Description=My App
After=network.target
Wants=celery-my_app.service
Wants=celerybeat-my_app.service
[Service]
User=my_app_user
Group=Nginx
Environment=FOO=bar
RuntimeDirectory=my_app
WorkingDirectory=/opt/my_app/my_project
ExecStart=/opt/my_app/my_project/venv/bin/gunicorn --workers 3 --log-level debug --error-logfile /var/log/my_app/my_app_error.log --access-logfile /var/log/my_app/my_app_access.log --capture-output --bind unix:/var/run/my_app/my_app.sock my_project.wsgi:application
[Install]
WantedBy=multi-user.target
Logrotate配置
/var/log/my_app/my_app_error.log /var/log/my_app/my_app_access.log {
weekly
missingok
rotate 4
delaycompress
notifempty
copytruncate
postrotate
# Gunicorn alleged pid file
kill -USR1 $(cat /var/run/my_app.pid)
endscript
}
- 我是否必须假定用于杀死信号的Gunicorn pid文件 文档中提到的是/var/run/my_app.pid?
- 是否有其他指令要添加到logrotate配置文件中 下面特别是关于我的用例(venv,Gunicorn,Nginx, systemd)或我应注意的注意事项,以正确配置日志轮换?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)