Apache + mod_wsgi + flask 应用程序:由于收到 SIGUSR1 信号而正常重启
Apache + mod_wsgi + flask app: doing graceful restart due to receiving SIGUSR1 signal
我有 flask
/python2.7
/apache2
/mod_wsgi
应用程序,我可以定期在 apache 日志中看到以下几行,并且我的应用程序会重新启动:
[mpm_event:notice] AH00493: SIGUSR1 received. Doing graceful restart
[wsgi:error] Joining threads
我知道如果有 segfault, but as far as I can see there was no segfault in my case (no corresponding lines in log before line 'doing graceful restart'). Or maybe such event wasn't logged... anyway I suspect this is apache2 issue because mpm_event
is apache2 internal entity (docs),这样的 "graceful restart" 就会发生。
所以我的问题是:
1) 如何检查我的情况出了什么问题?
2) 如果这是默认行为(例如,如果没有 activity 则重新启动)而不是问题 - 如何配置它以及在哪里配置它?
谢谢!
这是因为您的系统已 logrotate
设置来处理 Apache 的日志轮换。它会向 Apache 发送一个正常的重启信号,让它在换出日志文件时重新加载。
如果这不是您想要的,请不要 logrotate
这样做并使用 Apache 自己的日志文件轮换机制。
我有 flask
/python2.7
/apache2
/mod_wsgi
应用程序,我可以定期在 apache 日志中看到以下几行,并且我的应用程序会重新启动:
[mpm_event:notice] AH00493: SIGUSR1 received. Doing graceful restart
[wsgi:error] Joining threads
我知道如果有 segfault, but as far as I can see there was no segfault in my case (no corresponding lines in log before line 'doing graceful restart'). Or maybe such event wasn't logged... anyway I suspect this is apache2 issue because mpm_event
is apache2 internal entity (docs),这样的 "graceful restart" 就会发生。
所以我的问题是:
1) 如何检查我的情况出了什么问题?
2) 如果这是默认行为(例如,如果没有 activity 则重新启动)而不是问题 - 如何配置它以及在哪里配置它?
谢谢!
这是因为您的系统已 logrotate
设置来处理 Apache 的日志轮换。它会向 Apache 发送一个正常的重启信号,让它在换出日志文件时重新加载。
如果这不是您想要的,请不要 logrotate
这样做并使用 Apache 自己的日志文件轮换机制。