配置Apache以从mod_python错误中恢复

时间:2009-05-29 15:23:30

标签: python django apache mod-python

我使用mod_python在Apache上托管一个Django应用程序。偶尔,我会得到一些神秘的mod_python错误,通常是ImportError种,尽管通常不是指相同的模块。问题是,这些似乎出现在单个分叉子流程中,而其他运行正常,即使我强制行为需要使用问题流程错误的模块。一旦进程遇到错误,每次Apache选择它来处理请求时,它总是只提供相同的回溯。 (这也很麻烦,因为我的用户不一定在第一次出现时报告错误,并且一旦进程遇到错误。)

我更了解配置Django而不是配置Apache,但由于请求永远不会到达Django进行处理,因此不会让我感到满意。理想情况下,我应该解决根问题,这可能涉及我的代码,项目或机器配置,但在那之前,我需要帮助诊断和缓解问题。

  1. 有没有办法配置Apache日志以包含子进程ID?
  2. 如果遇到错误,有没有办法强制子进程重新生成?
  3. 我应该知道与此相关的任何已知问题吗?

2 个答案:

答案 0 :(得分:1)

作为一种解决方法,并假设您可以在服务器上自由安装新的Apache模块,您可以尝试使用

之一
  • mod_scgi
  • 的mod_fastcgi
  • mod_wsgi

代替。我使用SCGI将nginx前端Web服务器连接到我的Django应用程序,这突出了一个主要的好处(与Web服务器分离)。所有这些软件包都可以在Debian中使用,也可以在RHELx上使用。

答案 1 :(得分:0)

此回复可提供此问题的更详细版本及已接受的答案:

Testing for mysterious load errors in python/django