1

我的目标是让 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

但我不认为这是正确的。我不知道网络服务器背后的基础知识以及它如何与 django 应用程序或 mod_wsgi 等交互。

我想tl; dr有三个问题。一个是你们建议如何在 apache 中管理 django 项目。其次,我应该如何配置我的 supervisord 以连接到我的 django 项目?[编辑] 第三个问题,除了记录崩溃之外,还应该添加哪些其他很酷的功能来管理 Web 应用程序?

谢谢!

4

1 回答 1

2

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

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

Apache 将处理日志记录到您在虚拟主机中设置的错误日志。此外,您可以让 django 向您发送有关错误的电子邮件(我认为这很酷) django-sentry 看起来真的很酷https://github.com/getsentry/sentry。它提供了一个很好的错误管理。

于 2012-09-26T16:09:20.793 回答