曾經嘗試過但失敗的方法
- 用Azure Storage Explore複製VM磁碟
- 將複製好的磁碟放到新Region
- 接著從那顆磁碟生成新VM
但登入進去後仍然空空如也,顯然複製磁碟並無法成功把所有東西搬到新家。
失敗原因
目前大部分網站運作都包含JAVA、PHP等,不只是單純靜態網站,因此無法複製貼上就好。但Wordpress仰賴後端語言,還牽涉到後端資料庫搬移。
就像新的電腦來了,即使完整備份,還是要重新安裝APP、許多背景程式就是需要更新,跑一陣子才會順。Iphone搬家即使作的已經很簡單無腦了,第一次使用時依然需要使用網路,連線到雲端資料庫作回復。
成功方法:利用搬家工具Updraft
前提:
- 所有程式檔案架構和預設不變(網站程式都在同一個資料夾下)
- 能夠登入資料庫
方法:
- 匯出舊主機的資料庫
- 新主機新增資料庫
- 用舊主機資料庫將新主機資料庫還原
- 壓縮舊主機網站整個資料夾,下載壓縮檔,上傳到新主機,解壓縮到網站的對應資料夾
- 檢查 wp-config.php
以上過程,我是用外掛Updraft完成,減少人為介入可能造成的失誤。步驟如下:
- 進入Wordpress,下載Updraft外掛
- 進入Updraft,將整個網站備份
- 備份下載到電腦或是網路儲存空間備用
- 將新主機安裝Wordpress以及Updraft
- 將備份檔案匯入Updraft
- 確認網站在新主機順利運行
- 更改DNS
注意事項
- 部署新主機時,可以直接用Marketplace的image,就不用自己安裝(我是使用Bitnami)
- 新主機Wordpress的帳號密碼可以在VM的boost diagnostic找到
- Updraft備份時要勾選所有東西,包含資料庫DP
- 將備份匯入新主機後,Wordpress會跳出,要你重新輸入帳號密碼,請輸入舊主機的Wordpress帳號密碼,這時就不用本來boost diagnostic那組了
- 在更改DNS前,請先用瀏覽器拜訪新主機的Public IP,確認網站完整
- 確認沒問題後,就去DNS Server,將A name改成新主機的Public IP
- 類似Updraft這種搬家外掛還有其他選擇,可以多方嘗試,但要注意如果網站是放在Wordpress.com的話,會容易跟有原生的Export功能搞混
- 這個Export不能並不能搬所有東西,譬如design, themes, and plugins,更多說明可以參考官方文件WordPress Export | WordPress.com Support