2009-05-29 82 views
0

我在Apache上使用mod_python託管Django應用程序。偶爾,我會得到一些神祕的mod_python錯誤,通常是ImportError多種錯誤,儘管通常不會引用相同的模塊。事情是,這些似乎是爲單個分叉的子進程提出的,而其他運行正常,即使我強制要求使用問題進程發生錯誤的模塊的行爲。一旦進程遇到錯誤,每當Apache選擇它來處理請求時,它總是會提供相同的回溯。 (這也是一個麻煩,因爲我的用戶不一定會在第一次出現時報告錯誤,並且一旦該進程遇到錯誤。)配置Apache從mod_python錯誤中恢復

我知道更多關於配置Django而不是配置Apache,但那不會因爲請求永遠不會到達Django進行處理,所以可以讓我到任何地方理想情況下,我應該解決根本問題,這可能涉及我的代碼,項目或機器配置,但在此之前,我需要幫助診斷和緩解問題。

  1. 有什麼辦法可以配置Apache日誌以包含子進程ID?
  2. 有沒有辦法強制一個子進程重新生成,如果它遇到了錯誤?
  3. 是否有任何已知的相關問題需要了解?

回答

1

作爲一種變通方法,並假設你可以自由地在服務器上安裝新的Apache模塊,你可以嘗試的一個

  • mod_scgi
  • 的mod_fastcgi
  • mod_wsgi的

代替。我使用SCGI將nginx前端網絡服務器連接到我的Django應用程序,這突出顯示了一個主要優點(與web服務器解耦)。所有這些軟件包在Debian中都可用,也可能在RHELx上。

+0

是的,這確實解決辦法可能是我採取的路徑。我聽說mod_fastcgi可能是通用的方式。 – 2009-05-31 00:33:56