如何使用Apache + mod_python + Django跟踪500个服务器错误?

时间:2010-01-10 05:52:31

标签: django apache mod-python

  

可能重复:
  Django Unhandled Exception

我随机收到500个服务器错误并尝试诊断问题。设置是:

Apache + mod_python + Django

我的500.html页面由Django提供,但我不知道导致错误的原因。我的Apache access.log和error.log文件不包含任何有价值的调试信息,除了显示请求返回500。

某处是否存在mod_python或一般python错误日志(Ubuntu服务器)?

谢谢!

2 个答案:

答案 0 :(得分:4)

是的,你应该在你的apache confs中有一个关于虚拟服务器的错误日志的位置。 例如,我的虚拟服务器的名称是djangoserver,在我的/ etc / apache2 / sites-enabled / djangoserver文件中是行

ErrorLog /var/log/apache2/djangoserver-errors.log

虽然现在我重新阅读了您的问题,但似乎您已经处理了apache日志。我不相信mod_python或python本身有任何单独的日志。

这是一个生产设置吗?

如果不是,您可能希望打开Debug mode,然后Django会生成包含错误信息的非常详细的屏幕。在项目的settings.py中,设置

DEBUG = True
TEMPLATE_DEBUG = DEBUG

禁用通用500错误屏幕并查看详细信息。

答案 1 :(得分:1)

萨尔萨提出了一些很好的建议。我想补充一点,Django开发服务器是一个很好的跟踪这些东西的环境。有时我甚至用./manage.py runserver 0.0.0.0:8000从生产目录(喘息!)运行它,所以我知道我正在运行相同的代码。

不可否认,有时某些东西会在Apache下失败,而不是在dev服务器下,但这本身就是一种暗示。