搶救網站大作戰!
去年大約 12 月底,我用了 Zeabur 這個平台架設我的網站。因為有先人寫好了 Ghost 的 infra 模板,所以我架設起來非常方便快速。
原本是抱持著一個白嫖免費服務的心態使用 Zeabur 的,結果今天心血來潮想進網站看一看,才發現服務掛掉了。進到 Zeabur Dashboard 一看,發現已經頂到免費額度上限,服務被自動停用了!為了避免資料被自動刪除,話不多說,只好先課金 5 美金了!
課完金之後,我嘗試重啟主服務,似乎也遇到了問題,主服務一直崩潰重啟。這不曉得是 Zeabur 平台不夠完善,還是 Infra 的 Template 寫得有問題。我想,既然主服務有狀況,先確保 DB 資料安全應該比較實在。
還好 MySQL 服務是活著的,目前的策略是先用 Zeabur 的 Web Shell 連進 MySQL 主機,再用 mysqldump 把 DB dump 出來。沒想到弄到一半,可能是這個位於印尼的主機真的很不穩定吧,MySQL 這台主機居然也崩潰了,然後還開不起來!真的是差點被氣死!
過了幾個小時,服務還是一直起不來。我就先到設定把它「暫停服務」,再試著重啟看看,沒想到這樣就成功了。我趕緊再進 Shell 執行 mysqldump,這次終於成功,順利把 zeabur.sql 下載下來。
接下來當然是建立新專案,這次選在 AWS 台北的 Region。一樣用 Ghost 模板建立 MySQL 和主服務,這時卻遇到一個大問題:我要怎麼把剛剛那個 zeabur.sql 匯入進去? 介面上看起來沒有上傳檔案的地方,如果要再架個 SSH 服務讓我把檔案 scp 進去也很麻煩(當然也有可能是我還太菜,想不到好方法🙂)。
後來真的是在絕境才想到:工作上不是常常用 phpMyAdmin 嗎? 試試看能不能用它來匯入吧!
於是我用 Zeabur 的模板建立了一個 phpMyAdmin 服務,設定完環境變數,先嘗試用 root 連進去,結果真的可以,太讚了!建立好 DB 後,再把剛剛的 zeabur.sql 匯進去,最大的問題就解決了!到這邊,基本上就可以把 phpMyAdmin 服務刪掉了。
接著,把舊主服務的環境變數都複製過來,並重設綁定的 Domain Name 及 DNS Records,弄完之後終於可以連上前後台啦!
不過,這樣弄完還有個遺留問題。我推測 Ghost 的圖片都是上傳到主服務那台機器掛載的虛擬硬碟上,但舊的主服務已經沒辦法正常開啟,所以圖片都要自己找回來了🫠。好在我上傳的圖片沒很多,而且 MacBook 的瀏覽器快取還在,圖片能救多少是多少。但是《手把手教你用 GitHub Pages 搭建網站!》 這篇文章裡頭的圖片應該是沒救了,之後再找機會去補吧😭😭😭。