我有一个运行gunicorn的Django应用程序-我现在想用waitress替换它。很简单,我通过apt-get install python-waitress
安装了服务生,并通过waitress-serve --port=8080 myproject.wsgi:application
运行它。在
现在我想把它设置为通过一个Upstart文件运行(我在Ubuntu上)。我希望它在正常的运行级别2、3、4和5上运行,并告诉它在任何其他运行级别(例如系统重新启动、关闭或单用户时)停止。我还希望Upstart在失败时自动重启服务。最后但并非最不重要的是,我需要waitress
在端口80上运行,而不是在端口8080上运行。在
我的问题是:如何构建我的Upstart文件来反映这些需求?还有其他有用的补充吗?请告知,这是我的主要生产服务器。在
其次,根据waitress
本身,除了能够与SSL一起使用之外,使用反向代理(例如Nginx
)与{
我建议您不要编写自己的新贵脚本,而是研究其他著名的、经过战斗考验的解决方案。其中一个流行的解决方案是supervisor。它是纯Python,安装和配置非常容易。如果你用
apt-get
安装,它会附带所有必要的脚本,以便在Ubuntu重新启动时运行它,等等(尽管很可能你不会安装最新版本的supervisor)。一旦安装了supervisor,您只需为web服务器进程添加一个小配置。然后,当您启动supervisor时,它将管理您的web服务器进程。下面是一个示例管理器配置:请注意,supervisor可以管理多个进程,因此,如果您有任何其他需要为您的webapp运行的进程,您也可以将它们添加到supervisor。在
至于使用nginx的好处,关于这个主题还有很多其他的StackOverflow问题,所以我建议您先看看这些问题,而不是在这里背诵类似的思想。以下是我发现的一对:
相关问题 更多 >
编程相关推荐