Apache + WSGI + Trac:随机HTTP 500内部服务器错误

时间:2015-02-05 18:58:11

标签: python apache mod-wsgi wsgi trac

我很难解决新Trac 1.0.3安装中看似随机的HTTP 500 Internal Server Error问题。环境:

  • Debian 7.8
  • Apache 2.2.22
  • Python 2.7.3
  • Genshi 0.6
  • Sqlite 3.7.13
  • WSGI 3.3

我有Apache LogLevel debug - 这并没有向我透露任何内容。我有Trac(trac.ini)记录如下:

[logging]
log_file = /var/trac/log/trac.log
log_level = DEBUG
log_type = file

再一次,没有任何事情发生在我身上。我正在捕获WSGI / Trac environ字典 - 没有任何透露。在trac.wsgi我按照https://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Tracking_Request_and_Response中的规定设置了对请求和响应的跟踪。这基本上与environ dict的粗略记录相同,但是使用这种技术它很漂亮。

当其他人和我在Trac中点击时,可能有10%的时间我们得到的似乎是随机的HTTP 500 Internal Server Error(页面可能会有所不同)...然后刷新页面并加载。到目前为止,我的所有努力都没有记录到日志中500的任何迹象 - 我只看到200 Ok304 Not Modified

非常感谢您对故障排除的帮助。感谢。

更新1

清除那些可能挂在数据记录的人的担忧或混淆...... WSGI请求和响应跟踪(请参阅我最初发布的https://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Tracking_Request_and_Response链接)日志到Apache的错误日志(页面上写着“中间件的输出最终会出现在虚拟主机的Apache错误日志中,或者如果没有特定于虚拟主机的错误日志文件,则会出现在主Apache错误日志文件中。”)。 p>

更新2

我发现当用户收到HTTP 500时,如ssl_access.log中所预期的那样由Apache记录,没有相应的(Apache WSGI)日志条目errors.log。因此,当发生错误时,请求不是从Apache到WSGI,或者是WSGI是失败的,因此没有记录。

关于如何解决这个问题的想法?

0 个答案:

没有答案