brown and white long coated small dog wearing eyeglasses on black laptop computer

[已解決]如何更換Azure VM region將WordPress網站搬家

曾經嘗試過但失敗的方法

  • 用Azure Storage Explore複製VM磁碟
  • 將複製好的磁碟放到新Region
  • 接著從那顆磁碟生成新VM

但登入進去後仍然空空如也,顯然複製磁碟並無法成功把所有東西搬到新家。

失敗原因

目前大部分網站運作都包含JAVA、PHP等,不只是單純靜態網站,因此無法複製貼上就好。但Wordpress仰賴後端語言,還牽涉到後端資料庫搬移。

就像新的電腦來了,即使完整備份,還是要重新安裝APP、許多背景程式就是需要更新,跑一陣子才會順。Iphone搬家即使作的已經很簡單無腦了,第一次使用時依然需要使用網路,連線到雲端資料庫作回復。

成功方法:利用搬家工具Updraft

前提:

  • 所有程式檔案架構和預設不變(網站程式都在同一個資料夾下)
  • 能夠登入資料庫

方法:

  • 匯出舊主機的資料庫
  • 新主機新增資料庫
  • 用舊主機資料庫將新主機資料庫還原
  • 壓縮舊主機網站整個資料夾,下載壓縮檔,上傳到新主機,解壓縮到網站的對應資料夾
  • 檢查 wp-config.php

以上過程,我是用外掛Updraft完成,減少人為介入可能造成的失誤。步驟如下:

  • 進入Wordpress,下載Updraft外掛
  • 進入Updraft,將整個網站備份
備份完成後應該會有這些檔案
  • 備份下載到電腦或是網路儲存空間備用
  • 將新主機安裝Wordpress以及Updraft
  • 將備份檔案匯入Updraft
Restore到新主機
中間碰到Warning,選擇繼續執行
完成!
  • 確認網站在新主機順利運行
  • 更改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

Related Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料