MIg*_*ele 9 nginx catalyst uwsgi
我的目标是旋转uWSGI生成的日志,但是当原始日志文件被删除(压缩后)时,它不会再次重新创建.
所以我认为应用程序需要在删除文件后正常重启主进程.我使用这个RESTART脚本:
/home/tester/uwsgi-18
--reload /var/run/uwsgi/my_app_tester/my_app_tester.pid
Run Code Online (Sandbox Code Playgroud)
应用程序重新启动,但日志没有.
为了再次进行日志记录工作,我需要终止-2进程并再次运行START脚本,以便生成另一个进程号并再次进行日志记录.
显然我不希望这种硬停止只是为了旋转日志......
我的应用程序是使用Catalyst构建的,服务器运行Nginx,这里是uWSGI START脚本:
/home/tester/uwsgi-18
--master
--daemonize /var/log/uwsgi/my_app_tester/log
--socket /tmp/uwsgi/my_app_tester/my_app_tester.socket
--processes 1
--psgi /home/tester/my_app/my_app.psgi
--pidfile /var/run/uwsgi/my_app_tester/my_app_tester.pid
--procname-master TESTER
-L
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以重新启动应用程序而不会丢失连接和日志记录?
提前谢谢:Migue
rob*_*rto 15
你有各种方法:
1)在logrotate脚本中copytruncate,这将在没有uWSGI帮助的情况下可靠地工作
2)uWSGI日志轮换:--log-maxsize <bytes>当达到特定大小时,将自动旋转日志
3)经典的logrotation +日志重新加载,只需添加--log-master并触发日志重新加载http://uwsgi-docs.readthedocs.org/en/latest/MasterFIFO.html
还有其他方法(比如触摸文件时触发日志重新打开),但前一个是最常见的.
| 归档时间: |
|
| 查看次数: |
3484 次 |
| 最近记录: |