在生产中管理django项目的推荐方法是什么(在apache服务器中)

时间:2012-09-26 16:07:34

标签: python django apache daemon

我的目标是让django应用程序在崩溃时自动重启,并将错误写入日志文件。有建议使用supervisord,daemontools或django-supervisor,但我遇到了让它们中的任何一个工作的问题。

例如,在supervisord中,应用程序正在提示我管理一个“程序”,它想要一个目录。我不知道这实际意味着什么。如果我想管理它,那么与我的django项目重叠的“程序”是什么?

我把它设置为:

[progam:webserver]
command=/home/user/apps/django/apache2/bin/start # I think this is wrong
restart=true
logfile=/home/path/to/file

但我不认为这是正确的。我不知道web服务器背后的基本原理以及它如何与django app或mod_wsgi等交互。

我想tl;博士有三个问题。一个是你们如何推荐在apache中管理django项目。第二,我应该如何配置我的supervisord以挂钩我的django项目? [编辑]第三个问题,除了记录崩溃,还应该添加哪些其他很酷的功能来管理网络应用程序?

谢谢!

1 个答案:

答案 0 :(得分:2)

当你用apache运行django时,不需要主管。当django错误时,它将发生在apache请求中。 Apache已经是一项服务。跟踪apache处理的请求数量或资源使用情况可能很重要,但是有很好的开源工具(其中一个是nagios)。

一些python网络服务器(我相信gunicorn)可以(可能应该?)使用主管进行管理。但是,使用apache,这不是必需的。

Apache将处理您在虚拟主机中设置的错误日志的日志记录。另外你可以让django给你发错误(我觉得很酷) django-sentry看起来很酷https://github.com/getsentry/sentry。它提供了很好的错误管理。