建立 WordPress 備援網站或更換新的虛擬主機,手動搬家一點都不難!

架一個網站除了網頁伺服器外,資料庫、搭配的語法(ASP.NET或PHP)…等的運用也是不可或缺的,PHP語法的免費資源相當眾多,往往是架站的應用天堂,雖然你可以使用XAMPP是一個架站包,集成了Apache、PHP、MySQL、Perl等工具的網頁伺服器安裝包,去掉了一些繁瑣安裝過程,讓一般不懂程式語言的人也可以輕鬆快速的架站,但網路頻寬呢?所以租個虛擬主機服務是很務實的做法,筆者的網站就是架在租用虛擬主機上,但自動故障移轉功能成本高,架個備援網站手動轉移是不錯的方案,不過在同一台虛擬主機空間無法避開單一斷點問題,所以選家中的NAS來架設 WordPress 備援機,問題是如何將資料轉移到備援的網站呢?不管你是更換新的虛擬主機或搬家,大致一樣,來看看挨踢路人甲如何手動搬家。

用 Telegram 訂閱【挨踢路人甲】最新文章:https://t.me/itwshare

同一個虛擬空間架不同的虛擬網站是很常見,但當作備援感覺怪怪的,畢竟雞蛋放在同一個籃子上總是有些疑慮,不想花錢租另外的雲端空間,目前NAS越來越流行,加上頻寬越來越大,既然有這些設備,備援網站架在家中NAS是省錢又完全掌控的不錯方式,在NAS上架站可參考筆者另一篇「原來Synology NAS可以輕鬆架設有 SSL 憑證的網站」文章,所以此篇重點如何更換新的虛擬主機與搬家,了解後就不用擔心那裡尋找專業的WordPress 搬家廠商,遇到效率差或不安全的虛擬主機廠商,自己來搬家到更可靠的虛擬主機不是問題。

1.備份你的Wordpress網站

要從一個wordpress網站搬家到另一個,備份你的網站資料首要步驟,一般虛擬主機的根目錄是Public_html,不管你是否了解,就先將此根目錄下所有的資料都備份下來(包含如.htaccess等隱藏檔),由於Wordpess小檔案相當多,加上頻寬與虛擬主機的限制,備份需要些時間,請耐心等待完全備份。假如你建立時並非在根目錄Public_html下,只要知道wordpress是安裝在哪個目錄,就將那個目錄下全備份就對了。

 

2.匯出網站的內容資料

要匯出網站的內容前,最好調整一些設定,若僅是搬家,就直接匯出即可,但係筆者要當備援,建議先停止外掛與阻擋搜尋引擎索引,這樣備援網站就不會搜尋引擎索引。

 

到虛擬主機後台的cPanel找到「phpMyAdmin」來執行。

 

選擇想要匯出 WordPress 網站的資料庫,並點選「匯出」

 

使用預設快速即可,按下〔執行〕即可匯出.sql檔

進入 phpMyAdmin 後,如果你的虛擬主機上只有一個 WordPress 網站,資料庫很容易辨識,但如果有多個資料庫,不知道挑哪個匯出,可到wordpress目錄內找到wp-config.php,開啟查看define( ‘DB_NAME’, ‘database_name’ )中的database_name是什麼名稱,就知道要匯出哪個資料庫囉!

 

3.新的虛擬主機上建資料庫

備份完Wordpress程式與資料庫後,接下來就是要搬到新的虛擬主機上,筆者已經在原虛擬主機上架上備援的網站,但萬一虛擬主機斷線或掛點,備援的網站也跟著掛點,有錢當然在租個其他廠商的虛擬主機架上備援網站,但家中既有的網路與NAS也是個不錯的方案,且管理又方便。

筆者的NAS是Synology,內建資料庫MariaDB軟體,一般都會建議使用phpMyAdmin的資料庫管理工具,其中一個更大的優勢在於phpMyaAdmin跟其他PHP程式一樣在網頁伺服器上執行,但是您可以在任何地方使用這些程式產生的HTML頁面,讓使用者以web的方式來管理MariaDB資料庫,方便的建立、修改、刪除資料庫及資料表,Synology NAS的套件中心是玩家的天堂,重量級的PHP運用軟體大致都有,當然phpMyAdmin也不會缺席,進入套件中心安裝多國語言版的「phpMyAdmin」並開啟。

 

不管是搬家或建立備援網站,先要在新的虛擬主機上建立新資料庫,以讓原先的備分的資料能匯入,如筆者在Synology NAS的phpMyAdmin上建立一個「backupdb」資料庫,至於資料使用者,筆者則是使用root的最高權限,若要建立新的使用者,建立後需要注意權限,也就是要開開啟對「backupdb」資料庫的存取權。

4.新的虛擬主機上建立對應虛擬目錄
筆者使用的是Sugarhosts 虛擬主機無限空間,利用網域、子網域與DNS指定即可輕鬆架設多個wordpress網站,想要架個備援wordpress網站輕而易舉,下圖是筆者在同虛擬主機空間架多個網站,blog.walker-a.com與walker-a.com各自對應不同的目錄。若是架到不同虛擬主機空間,事實上,就是想要網站搬家或架設備援網站。

虛擬主機搬家

 

每個虛擬主機服務商在網域對應目錄的方式稍有不同,此文以筆者家中的NAS為說明,進入Web Stations的網頁服務入口內來〔新增〕一個網域名稱對應的目錄入口。

 

入口類型選擇虛擬主機。

 

主機的名稱就是你的網站的網址,如果只是搬家到不同的虛擬主機服務商,這裡要一樣,但筆者不是搬家,是想要建立一個備援的網站,所以在walker-a.com網域下延伸一個backup的子網域,故填入backupup-walker-a.com。

 

並指定對應的目錄,筆者是對應在Web\backup。

5.編輯 wp-config.php 檔案

修改前備分的wordpress內的wp-config.php 檔案,重新指定新的虛擬主機上的資料庫名稱、帳號與密碼。

 

6 .搬移Wordpress與會入資料庫到新虛擬主機上

將備份的Wordpress的檔案搬到新的虛擬主機,就是上傳筆者指定對應的web\backup下,筆者使用NAS方便上傳,若是要上傳新的虛擬主機上,可使用FTP工具。

 

搬完wordpres後就是匯入資料庫到新的虛擬主機上,將之前備份的SQL檔匯到新建的資料庫中,記得取消部分匯入下的選項。

 

注意,一定要看到匯入成功喔!

 

7.更換域名和網址

假如你存搬家,不會變動網址名稱,也就是使用舊網域名稱,可以略過這步驟。此篇除了搬家外,也使用了新網域來當成備援網站,所以要在wp_options資料表內的siteure欄位資料變更成新的網域名稱,如下圖將walker-a.com變更為backup.walker-a.com。

一樣,home欄位也要變更。

 

最後還要將文章上有關的網址變更,使用上方是修改可能愚公移山,使用SQL語法來一次更動較方便,語法如下:

UPDATE wp_options SET option_value = replace(option_value, ‘舊網址’, ‘新網址’)
WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
UPDATE wp_posts SET guid = replace(guid, ‘舊網址’,’新網址’);
UPDATE wp_posts SET post_content = replace(post_content, ‘舊網址’, ‘新網址’);
UPDATE wp_postmeta SET meta_value = replace(meta_value,’舊網址’,’新網址’);

 

例如筆者要將walker-a.com變更成backup.walker-a.com,如下:

 

8.更換DNS

最後要到購買網域或是你的DNS管理的地方修改或新增DNS,若你更換新的虛擬主機廠商,你就要將網域指定到新的虛擬主機給你的IP,此文筆者使用backup子網域來當備援網網站,所以新增backup子網並機將IP指定到工作室的固IP上,這樣只要訪問到backup.walker-a.com即會繞道我工作室NAS對應的web\backup目錄上。

 

一般租用虛擬主機不用煩惱網路上的頻寬、防火牆等問題,筆者將備援網站指定到工作室的NAS中,當然經過防火牆要自己處理喔!

小結

來測試一下建立的備援網站,內容是與當時備份的資料一模一樣,不管是Wordpress搬家或建立備援網站,雖然步驟不少,但也沒有很難,遇到不喜歡或速度慢的虛擬主機,不用在委屈求全,了解原理搬家輕鬆搞定。

 

曾經有網友問過筆者,虛擬主機上的wordpress運作許久後,有的沒的垃圾一大堆,若想以全新的wordpres安裝並搬移網站資料,如何處裡?筆者不是這方面專家,不過嘗試過以下方式OK。
其大致的過程雷同,差異就是備份資料庫時請以自訂匯出,勾選「加入 DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER 指令」來匯出,接著下載wordpress軟體並上傳,並初始進入網站後再匯入備份的sql即可

 

延伸閱讀:

itwalker
itwalker

或許技術與功力已遠遠不及時下年輕人,但試著去畫一個圓,圓不圓沒關係,盡力就好,如果覺得文章不錯的話,請大家按個「讚」或「+1」,感謝您的支持與鼓勵!歡迎加入我的粉絲團 : https://www.facebook.com/itwalker ,更多關於挨踢路人甲的文章: https://walker-a.com

文章: 2838

1 則留言

  1. 曾經有網友問過筆者,虛擬主機上的wordpress運作許久後,有的沒的垃圾一大堆,
    若想以全新的wordpres安裝並搬移網站資料,如何處裡?筆者不是這方面專家,不過嘗試過以下方式OK。
    其大致的過程雷同,差異就是備份資料庫時請以自訂匯出,
    勾選「加入 DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER 指令」來匯出,接著下載wordpress軟體並上傳,
    並初始進入網站後再匯入備份的sql即可

發表迴響

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