我一直在使用UWSGI背后的Nginx,我已经设置supervisord重新启动服务器的情况下Nginx和UWSGI实例。
我正在debugging我的应用程序,有时需要重新加载应用程序。 根据这个页面,我应该发送SIGHUP为了做一个优雅的重新加载。
我可以在这个页面上find一个stopignalconfiguration设置,但是我找不到任何与“reloadsignal”或“restartsignal”相关的条目。
有任何想法吗?
stopsignal The signal used to kill the program when a stop is requested. This can be any of TERM, HUP, INT, QUIT, KILL, USR1, or USR2. Default: TERM Required: No. Introduced: 3.0
stopsignal=HUP是你在找什么:
[program:uwsgi] user = uwsgi command=/usr/sbin/uwsgi ... autostart=true autorestart=true stderr_logfile = /var/log/uwsgi/err.log stdout_logfile = /var/log/uwsgi/out.log stopsignal=HUP
我已经在这里报告了一个问题,我希望它会被接受为一个function请求,我们都有机会使用这个权力。
如果您运行supervisorctl status您将看到uwsgi进程的pid。 像这样的东西,
$ supervisorctl status uwsgi RUNNING pid 25700, uptime 0:15:48
所有你需要做的是手动发送HUP信号到这个PID。
kill -HUP 25700
你可以通过自动化,
supervisorctl status signal | grep -o 'pid\s\+\d*'| awk '{print $2}' | xargs -n 1 kill -HUP
在使用这个superctctl状态信号之后 grep -o'pid \ s + \ d *'| awk'{print $ 2}'| xargs -n 1 kill -HUP for graceful reload Nginx无法从上游获得连接