
我的伺服器上有一個 Python 腳本作為 FastCGI 使用 Apache2 和 mod_fcgid 運行。我讓它產生最多五個進程。但我很快就在 Apache 日誌中收到以下訊息:
[Wed Sep 02 23:16:34 2009] [warn] (103)Software caused connection abort: mod_fcgid: ap_pass_brigade failed in handle_request function
[Wed Sep 02 23:16:35 2009] [warn] (103)Software caused connection abort: mod_fcgid: ap_pass_brigade failed in handle_request function
然後 Apache 似乎沒有意識到它的所有進程都已死亡(我最多有 5 個後端)並且拒絕產生新進程:
[Wed Sep 02 23:26:16 2009] [notice] mod_fcgid: /var/www/hacks.og.theinfo.org/picker.fcgi total process count 5 >= 5, skip the spawn request
[Wed Sep 02 23:26:17 2009] [notice] mod_fcgid: /var/www/hacks.og.theinfo.org/picker.fcgi total process count 5 >= 5, skip the spawn request
此時它拒絕回應外界的要求。我的其他 FastCGI 似乎沒有發生這種情況,它們都使用相同的 Apache 配置:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
IPCConnectTimeout 20
MaxProcessCount 5
DefaultMaxClassProcessCount 2
DefaultMinClassProcessCount 1
</IfModule>
知道是什麼原因造成的嗎?
答案1
第一個谷歌點擊表明這可能是 Debian 的 bug。