似乎最好的方法是将Nginx与多个Tornado实例一起使用,正如我在原始问题中提到的那样,正如Cole提到的那样。Nginx可以动态地重新加载其配置文件。因此,过程如下所示:
- 更新Python / Tornado Web应用程序代码
- 在其他端口上启动应用程序的新实例
- 更新Nginx的配置文件以指向新实例(首先测试配置文件的语法)
- 使用
kill -HUP
命令重新加载Nginx配置文件 - 停止Python / Tornado Web服务器的旧实例
Nginx上有关热交换配置文件的几个有用资源:
https://calomel.org/nginx.html(在“解释nginx.conf中的指令”部分中)
http://wiki.nginx.org/CommandLine(在“使用信号加载新配置”部分中)



