使用Django与mod_wsgi和Apache偶尔出现内部服务器错误

时间:2012-02-16 17:48:16

标签: django apache mod-wsgi

我们使用Django + mod_wsgi + Apache进行设置。

有时候,当我们正在进行站点更新/更改后端Python代码时,站点用户会遇到似乎由Apache服务的内部服务器错误页面,而不是Django(至少他们是非常丑陋的,不是好的)。他们似乎确实生成错误报告(通过电子邮件)我认为,他们似乎没有登陆我们的500服务器错误模板。

我想了解为什么会发生这种情况。通常错误会导致Django服务(并且风格很好)的500错误页面,但偶尔我们会看到丑陋的内部服务器错误页面。

有没有人知道为什么会这样,以及我可以检查/测试/发布什么来阻止这种情况发生?非常感谢,谢谢!

2 个答案:

答案 0 :(得分:2)

如果Apache向您显示500页,则表明Django在渲染500页时抛出了错误。例如,500.html模板上可能存在Django无法呈现的模板标记。

您查看了Apache错误日志吗?对于Apache2 On Debian,它们默认存储在/var/log/apache2/中。您的操作系统可能会有所不同。

答案 1 :(得分:1)

我知道这种行为,在使用Python 2.5的Centos 5.3上遇到了同样的问题。 在我安装了Python 2.7.2并编译了最新的mod_wsgi(我认为它是版本3.3)之后,这些错误就消失了。就内存分配而言,问题是Python 2.5中的一个错误。

使用CentOS时要小心,因为你无法更新Python 2.4,你必须安装并行版本。更新Python将破坏CentOS系统功能,如“yum”。