伺服器意外重啟之後PHP-FPM不能啟動

來源:互聯網
上載者:User
關鍵字 伺服器 Linux

仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳

週一又是新的開始!所有事情都按照往常的節奏按部就班,有條不紊的進行著。 首先是檢查下各網站及應用系統是否正常,然後看看日誌資訊是否也有異樣,一圈下來結果跟以前差一樣沒有其它問題。

今天唯獨沒有像往一樣,上線之後並沒打開系統監控(平時都是用SecureCRT登錄系統之後,打開TOP命令讓它一直線上,偶爾看下)。 到了早上10點多快11點的時候,隨手又點擊了一下網站,這下出現的畫面讓我為之一醒(不是一驚)

  

原文就是:An error occurred.

Sorry,the page you are looking for is currently unavailable.

Please try again later.

If you arre the system administrator of this resource then you should check the error log for details.

所 實話這個介面還真不多見,但跟這個相似的就是前後端連接逾時也會出現一個提示頁面,但內容不太一樣。 這下我就急了,難道被人黑了?因為最近老有朋友說他的 網站被掛馬了,所以我一個沖上來的念頭就是被人黑了。 連忙SSH登錄後臺看看,最後的登錄IP也是自己的,這才稍有點放心,是自己緊張過頭了。

稍作冷靜之後,再結合提示頁面的資訊,應該是系統服務出了問題而非被入侵造成。 於是就從檢查日誌、進程、埠等方面著手展開排查,很快就在php-fpm.log日誌檔有所發現,幾乎全部都是同樣的資訊,如下:

connect() failed (111: Connection refused) while connecting to upstream

upstream: fastcgi://127.0.0.1:9000

from these line it is clear it is not listening to port 9000. Or its listen queue is full.

然後再檢查下PHP-FPM進程和9000埠,我勒個去~沒有進程(自然就沒有埠了),到底怎麼回事?我安裝的時候明明已經加入開機啟動PHP-FPM服務的,怎麼現在居然沒起來呢?索性手動啟動試試:

#www.free920.com

#services php-fpm start 回來之後,居然提示已經運行

php-fpm already running...

#services php-fpm stop

Stopping php-fpm: [FAILED]

提示失敗!!!!

我再根據日誌資訊問過度娘,她說出現這樣的提示應該是日誌超過了2G導致,要解決這個問題就把相關參數調整一下,把log_level由notice改為error,只記錄錯誤級別的資訊。

很 快就找到php-fpm.conf檔並作相應修改(不過我馬上發覺得有問題:剛才查日誌的時候,那個日誌才1M不到,距離2G還很遠呢,所以斷定不是這 個問題了),但還是修改一下吧,反正沒其它影響的。 不過查到這裡,心裡不禁緊張起來。 這時才想起要問問運營商,是不是他們做過什麼手腳,這才得知一小時前 他們重啟過機器,再結合剛才手動啟動服務和停止服務時的提示資訊,一個說php-fpm已經運行,一個說不能終止服務。

突然似乎想到了什 麼,要檢查下PID檔,因為在Linux下記錄某個進程是否運行是通過生成一個對應的PID檔,寫入當前的進程號作標識的。 真是喜出望外呀~這個 pid檔是空的,雖然有這個名稱的檔,但裡邊沒有內容。 所以就解釋了為什麼啟動服務就說已經運行,停止它的時候說失敗了。 幾經檢查,發現用來啟動 php-fpm的腳本寫得不嚴密,只是在啟動的時候檢查是否有pid檔存在而不管它是否有真實的PID內容,才造成了啟動、停止都不正常。

解決辦法:

在啟動指令之前加入對PID文檔的檢查,如果是空檔就刪除,使得服務可以正常啟動。

if [ ! -s $php_fpm_pid ]; then

rm -f $php_fpm_pid

fi

$php_fpm_pid是指向php-fpm記錄進程號的檔,定義在php-fpm的啟動腳本前邊,詳細的內容會在下一篇文章介紹。 我這次的遭遇就是因為伺服器意外被重啟,導致php-fpm.pid檔為空(為什麼出現空檔的情況還有待求證)。

以 上就是本周第一天遇到的一段小插曲~雖然沒造成大影響,但是又一次考驗了自己在這些情況下處事的應變能力,希望此文也能説明到其它站長:在發現問題之後先 冷靜,並認真閱讀相關提示資訊,不明白意思的地方可以問問度娘或者狗哥, 對可能出現問題的地方逐一排查,在解決問題的同時也長進了相關的知識!!

資訊提供:920影院(HTTP://www.free920.com),歡迎轉載,並注明出處,謝謝!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.