2017-01-05 56 views
2

我正在拉我的頭髮: 從Debian wheezy升級到jessie後,我們有時會得到Apache mod_fcgid錯誤。升級到Debian後Jessie:隨機mod_fcgid錯誤

當前設置:

  • 的Debian GNU/Linux的8.6(傑西)/ 3.16.0-4-AMD64
  • 阿帕奇/ 2.4.10(Debian的)
  • PHP 5.6.29-0 + deb8u1

一些Apache站點運行良好,一些站點在幾次重新加載後出現錯誤500。 Apache的日誌顯示

[fcgid:警告] [PID 23714](104)通過對等連接復位:[客戶123.456.789.12:53191] mod_fcgid:從FastCGI的服務器錯誤讀取數據

[fcgid:警告] [PID 23714](104)連接復位由對等:[客戶123.456.789.12:53191] mod_fcgid:ap_pass_brigade在handle_request_ipc功能

奇怪的是失敗的,這僅發生不時此錯誤。作爲一個用戶,我可以重新做一次頁面重新加載,一切都很好。 我知道我不是第一個有這個錯誤的人,到目前爲止我嘗試了幾件事,但沒有任何幫助。

我已經做了:

  • 在/etc/apache2/mods-available/fcgid.conf 設置FcgidOutputBufferSize 0 - >沒有區別
  • 在包裝程序腳本Stetting PHP_FCGI_MAX_REQUESTS=99999 - >沒有區別
  • 在/etc/apache2/mods-available/fcgid.conf設置FcgidMaxRequestsPerProcess 500 - >沒有區別
  • 在/etc/apache2/mods-available/fcgid.conf 012增加 - >沒有區別

任何想法? 在此先感謝。

馬丁

回答

0

我討厭這樣說,但是從一個Debian版到另一個更新(例如:從喘息到傑西)可能是骯髒的,而且並不總是完美地工作。有許多事情可能會出錯,並導致異常行爲。

無論如何,我會在這裏做什麼(可能或不可行),首先我會在更新之前查看機器上所有的自定義配置文件和腳本,並調查它們是否仍然可以在新的版。

接下來,我將確保我有一個包含庫列表/etc/apt/sources.list如:

deb http://ftp.us.debian.org/debian/ jessie main contrib non-free 
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free 
deb http://security.debian.org/ jessie/updates main contrib non-free 
deb-src http://security.debian.org/ jessie/updates main contrib non-free 
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free 
deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free 
deb http://ftp.debian.org/debian jessie-backports main contrib non-free 
deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free 

之後,運行apt-get update然後運行下面的代碼 - 重要:下面的代碼可能會覆蓋自定義配置文件(如果您有任何)爲您的節目:

dpkg --force-confnew --configure -a 
sleep 1 
apt-get -y -o DPkg::options::="--force-confnew" install -f 
sleep 1 
dpkg --force-confnew --configure -a 
sleep 1 
apt-get -y update 
sleep 1 
apt-get -y -o DPkg::options::="--force-confnew" dist-upgrade 

之後,reboot和檢查問題是否仍然存在。

下一步將刪除(清除)apachephp程序包(如果可能的話),然後重新引導並重新安裝它們。例如:

apt-get -y --purge remove apache2 php5 
reboot 
apt-get -y install apache2 php5 

之後,reboot並檢查問題是否仍然存在。

如果此時你仍然有問題,我會考慮從頭重新安裝整個操作系統。我將許多Debian機器從一個版本更新到另一個版本,並且在太多機器中存在太多問題,所以我不再這樣做,而是從頭開始安裝操作系統。

我希望這會有所幫助,祝你好運。

+0

非常感謝你爲這本詳細的手冊,但我已經寫了重要的配置文件,從頭開始,而不是使用舊的。 – Martin

0

我能夠發現問題只存在於某些網站,尤其是那些使用離子加載器與PHP結合使用的網站。我沒有重新安裝整臺機器,而是將虛擬主機切換到PHP-FPM。

現在一切正常運行良好&這種方式。 嗯,這不是一個真正的解決方案,但至少有一個很好的解決方法...

+0

我很高興您用解決方法解決了您的問題。我不想以任何方式成爲「黛比唐納」,但我建議你進一步調查這個問題。舊機器發生同樣的問題了嗎?如果沒有,爲什麼現在呢?你應該知道這個答案,以便能夠再次信任機器。潛伏着你不知道的問題可能會有更多。也許這個錯誤只是一個問題的「症狀」,會在不同的場景和情況下表現出來。只是我2美分。祝你好運! –