我的目标是让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但我不认为这是正确的。我不知道app服务器背后的基本原理,也不知道它如何与django应用程序或mod_wsgi之类的东西交互。
我想有三个问题。一个是你们如何推荐在apache中管理django项目。其次,我应该如何配置我的supervisord以连接到我的django项目?编辑和第三个问题,除了记录崩溃,还应该添加哪些很酷的功能来管理web应用程序?
谢谢!
发布于 2012-09-27 00:09:21
当你在apache上运行django时,supervisor应该是不必要的。当django出错时,它将发生在apache请求内部。Apache已经是一项服务了。跟踪apache正在处理的请求数量或它的资源使用情况可能很重要,但是有一些很好的开源工具可以做到这一点(nagios就是其中之一)。
一些python can服务器(我相信gunicorn)可以(也许应该?)使用主管进行管理。不过,对于apache,这不应该是必要的。
Apache会将日志记录到您在虚拟主机中设置的错误日志中。此外,你还可以让django给你发送错误邮件(我认为这很酷),django-sentry看起来真的很酷,https://github.com/getsentry/sentry。它提供了一个很好的错误管理。
https://stackoverflow.com/questions/12605926
复制相似问题