Linux

G. T. Wang 網站伺服器當機紀錄(2016/04/07)

本篇是 G. T. Wang 網站伺服器於 2016 年 4 月 7 日下午當機停擺的記錄。

今天下午赫然發現我的 G. T. Wang 部落格竟然無預警停擺,網頁伺服器可以連得上去,但是顯示的內容卻是 nginx 的錯誤訊息,差點把我嚇死,馬上連上伺服器檢查,結果更讓我吃驚,查了 /var/log 底下相關的伺服器記錄,一時之間找不到關鍵的錯誤訊息,但是網站卻是處於停止服務的狀態。


我檢查了 nginx 的 error.log,都是一大堆 php5-fpm 的錯誤:

nginx 的 error.log 記錄檔

2016/04/07 15:25:11 [error] 4743#0: *50 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 66.249.84.208, server: blog.gtwang.org, request: "GET /feeds/posts/default HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "blog.gtwang.org"

接著去看 php5-fpm 的記錄檔,結果竟然沒有任何錯誤訊息在裡頭:

php5-fpm.log 記錄檔

在一臉疑惑的情況下,嘗試使用 service 重新啟動 php5-fpm 服務也無效,後來實在不想浪費時間找,直接重開機試試看,結果重開機之後就恢復正常了,從發現問題到處理完大約花了 5 分鐘,但是在我發現問題之前,網站已經掛了 20 分鐘了,應該有影響到不少的使用者。

後來我仔細檢查伺服器的記錄檔,終於找到出問題的地方,主因出在 php5-fpm 的嚴重 bugs:

syslog 記錄檔

Apr  7 15:05:47 linode01 kernel: php5-fpm[17757]: segfault at 7ffcbc82b001 ip 000000000079fe74 sp 00007ffcbc823e70 error 6 in php5-fpm[400000+800000]

這種 segfault 問題通常不會有太明顯的錯誤訊息,而且 php5-fpm 出問題終止執行之後,使用 service 重新啟動似乎還會有問題,我猜可能是 pid 檔案之類的問題,不過我也不想找了,重開機可能會比慢慢找問題修正來得快。

我目前所使用的 Linux 發行版是 Ubuntu,這類的 Linux 比較不穩定,會出這種問題我也不意外,只是我之前沒有考慮網站長期營運的問題,經過這次的事件之後,我會認真考慮未來改用 CentOSRHEL 了。

最後補充一下目前的系統環境資訊:

項目 版本
Linux 發行版 Ubuntu 14.04.4 LTS
Linux 核心 Linux linode01 4.5.0-x86_64-linode65 #2 SMP Mon Mar 14 18:01:58 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
php5 5.5.9+dfsg-1ubuntu4.14
php5-fpm 5.5.9+dfsg-1ubuntu4
nginx 1.4.6-1ubuntu3
G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

1 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

2 年 ago