[英]Tornado code deployment
是否存在基于龙卷风的Web应用程序部署的规范代码部署策略。 我们目前的配置是在NginX后面运行的4个龙卷风进程? (我们的具体用例是EC2背后的。)
我们目前有一个运行良好的解决方案,我们启动四个龙卷风进程并将PID保存到/ tmp /中的文件。 在部署新代码时,我们通过结构运行以下序列:
我们从中获得了一些灵感: http : //agiletesting.blogspot.com/2009/12/deploying-tornado-in-production.html
那里还有其他完整的解决方案吗?
我们以supervisord作为主管运行Tornado + Nginx。
示例配置(名称已更改)
[program:server]
process_name = server-%(process_num)s
command=/opt/current/vrun.sh /opt/current/app.py --port=%(process_num)s
stdout_logfile=/var/log/server/server.log
stderr_logfile=/var/log/server/server.err
numprocs = 6
numprocs_start = 7000
我还没有找到重启事物的“最佳”方式,我可能最终会做的是让Nginx有一个“活动”文件更新,让HAProxy知道我们正在搞乱配置然后稍等一下,交换周围的事情,然后重新启用一切。
我们正在使用Capistrano(我们有一个积压任务转移到Fabric),但我们没有处理删除* .pyc文件,而是将符号链接/ opt / current添加到发布标识符。
我没有在生产中部署Tornado,但我一直在玩Gevent + Nginx并且一直在使用Supervisord进行流程管理 - 启动/停止/重启,日志记录,监控 - supervisorctl非常方便。 就像我说的,不是部署解决方案,但可能是值得使用的工具。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.