如何为nginx优雅地重新加载spawn fcgi脚本

如何为nginx优雅地重新加载spawn fcgi脚本,nginx,spawn-fcgi,Nginx,Spawn Fcgi,我的堆栈是nginx,它使用spawn fcgi运行pythonweb.py快速cgi脚本。我使用runit使进程作为守护进程保持活动状态。我正在使用unix套接字或spawed fcgi 下面是我在/etc/sv/myserver中的名为myserver的runit脚本,运行文件位于/etc/sv/myserver/run exec spawn-fcgi -n -d /home/ubuntu/Servers/rtbTest/ -s /tmp/nginx9002.socket -u www-da

我的堆栈是nginx,它使用spawn fcgi运行pythonweb.py快速cgi脚本。我使用runit使进程作为守护进程保持活动状态。我正在使用unix套接字或spawed fcgi

下面是我在/etc/sv/myserver中的名为myserver的runit脚本,运行文件位于/etc/sv/myserver/run

exec spawn-fcgi -n -d /home/ubuntu/Servers/rtbTest/ -s /tmp/nginx9002.socket -u www-data -f /home/ubuntu/Servers/rtbTest/index.py >> /var/log/mylog.sys.log 2>&1
我需要将对SRIPT的更改推送到生产服务器。我使用paramiko将ssh连接到该框中并更新index.py脚本

我的问题是,如何使用最佳实践优雅地重新加载index.py以更新到新代码

我是否使用:

sudo /etc/init.d/nginx reload
我是否重新启动runit脚本: sudo sv启动myserver

或者我是否同时使用这两种方法:

sudo /etc/init.d/nginx reload
sudo sv start myserver

或者以上都没有?

基本上,您必须重新启动加载Python脚本的进程。这是生成cgi,而不是nginx本身。nginx仅通过Unix套接字与spawn cgi通信,如果由于重新启动spawn cgi进程而丢失连接,nginx将愉快地重新连接

因此,我建议使用一个简单的
sudosv重新启动myserver
。无需重新启动/重新加载nginx本身