首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优雅地重新加载nginx的spawn-fcgi脚本

如何优雅地重新加载nginx的spawn-fcgi脚本
EN

Stack Overflow用户
提问于 2012-03-19 18:43:29
回答 1查看 793关注 0票数 0

我的堆栈是nginx,它使用web.py -fcgi运行python spawn-fcgi脚本。我使用runit将进程作为守护进程保持活动状态。我使用unix套接字作为spawed-fcgi。

下面是我在/etc/sv/myserver中名为myserver的runit脚本,以及/etc/sv/myserver/run中的run文件。

代码语言:javascript
复制
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

我需要将对脚本的更改推送到生产服务器。我使用paramiko ssh进入机器并更新index.py脚本。

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

我是否要使用:

代码语言:javascript
复制
sudo /etc/init.d/nginx reload

我是否要重新启动runit脚本: sudo sv start myserver

或者我两者都使用:

代码语言:javascript
复制
sudo /etc/init.d/nginx reload
sudo sv start myserver

或者以上都不是?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-20 04:22:19

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

因此,我建议使用一个简单的sudo sv restart myserver。不需要重新启动/重新加载nginx本身。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9768739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档