WordPress 網站突然出現空白無法連線問題的解決方式
WordPress 網站架設在 GCP 雲端主機時,曾經有一次出現畫面空白,或等很久時出現 Error 522 connection timed out 或者 Error 521 web server is down , 這兩種錯誤的情形在 google 找了錯誤原因,大部分都是使用 Cloudflare 的 cdn 使用而出現的錯誤訊息,而這個錯誤訊息是由 cloudflare 發現 host 端,也就是主機端出現主要的錯誤,導致網站無法正常顯示,其實這個問題如果想簡單一點的話,不用花太多時間,很快問題就解決,之後又跳出一項資料庫無法正常連線,找到問題的原因就是”雲端主機磁碟空間不足“。
因為 wordpress 的網站 dns 是 cloudflare 做設定的,cloudflare 除了可以設定幾個免費的 ssl 外,還可以保護網站 ddos 的攻擊,所以自己網站有問題的時候會跳出這樣的畫面,例如 Error 522 錯誤畫面 Connection timed out 網站未正常連線。
找了很多種方法解決 error 522 的錯誤時,可能又會有其他的錯誤產生,例如 Error 521 Web server is down,很奇怪,我的網站沒有關機,為什麼會出現這樣的錯誤訊息呢? 想不通,有時候因為錯誤訊息的代碼讓我們花很多時間找解決方法,結果是忘記了基本解決雲端主機問題的能力。
因為 wordpress 網站是使用 bitnami 架設在 gcp 雲端 gce 上面,所以使用 ssh 進入檢查看一看這台主機是怎麼回事,wordpress 有使用 mysql 資料庫,重新啟動一下看看是不是資料庫有問題,後來發現資料庫出現 mysql not running,無法正常運作。
再次使用 Linux 做基本的檢查, 使用 df -h 檢查磁碟空間的狀態,發現原來 /dev/sda1 空間使用 100% ,磁碟空間不足所以 mysql 服務跑不起來,跟著網站也無法正常運作。所以之前出現 error 521 與 error 522 等等原因都是磁碟空間不足影響的。
此台 gcp 雲端主機一開始架設 wordpress 的時候,磁碟空間設定比較小 10G ,想說為了要減少不必要的浪費與節省預算,所以設定小一點的空間,沒有想到之後會影響到網站的運作。想要增大磁碟空間,可以按照下方的步驟來做:
內容目錄
STEP1 修改GCE磁碟空間大小
在Compute Engine的儲存空間,點選磁碟,修改屬性大小,原本10G改成20G(改成您要的大小),然後儲存
STEP2 檢查磁碟空間區塊狀態
從GCE點選ssh進入虛擬主機後,使用lsblk查看磁碟區塊狀態,目前看到的是sda已是20G的空間,但10G是原本的區塊空間,還未完全擴充到20G。
STEP3 調整磁區擴展 Linux 系統
使用 growpart 調整磁碟區大小後擴展 linux 系統,也就是由 10G 變成 20G,growpart /dev/sda1。
STEP4 執行調整磁區擴展 Linux 系統
使用 resize2fs 執行調整磁區擴展,也就是讓它生效。
STEP5 檢查磁碟空間的大小配置是否正確
使用df -h 查看目前磁碟空間的使用狀態,綠色的線是目前已調整/dev/sda1 ,原本 10G 已調整到 20G了,已成功。
STEP6 服務重新啟動或重新開機檢查網站是否正常
重新開機或讓 apache 重新啟動 service httpd restart,檢查網站是否已恢復正常。