將 WordPress 網站轉移至 LEMP 伺服器

本篇是將 WordPress 網站從舊的共享主機轉移至 Linode VPS LEMP 伺服器的過程紀錄。

前陣子因為舊網站空間的 MySQL 資料庫出問題,所以從 Linode 買了一個新的 VPS 主機空間,安裝並設定好 Ubuntu Linux 系統之後,架設了一個 LEMP 伺服器,接下來就是要將既有的 WordPress 網站搬到新的 VPS 主機空間了。

在更換主機空間的過程中,從一開始的 Linux 系統安裝到 LEMP 伺服器的各種設定等過程,都可以很輕鬆的來處理,這中間如果不小心出差錯,頂多只是把搞砸的虛擬主機刪掉,重新再裝一次就好了,不會影響到現行網站的運作,但在 LEMP 伺服器安裝好之後,開始轉移 WordPress 網站時,就要十分注意,這個部份如果一不小心沒處理好,就可能會讓網站斷線,直接影響網站的營運!

以下是 WordPress 網站遷移的步驟。

Step 1
首先確定 WordPress 的使用者都已經登出了,不會有人在網站遷移時還在線上編輯文章,或是做任何會更動網站內容的動作。

Step 2
將 WordPress 網站從舊的網頁空間中備份出來,因為只是更換網頁空間,網址並沒有更動,這種搬移方式非常單純,只要備份下列兩個部分:

  1. 所有 WordPress 的檔案。
  2. WordPress 所使用的 MySQL 資料庫。

MySQL 資料庫的備份可以使用主機商提供的 phpMyAdmin,或是使用 mysqldump,例如:

mysqldump --host localhost --opt --user=USERNAME --password='MYSQL_PASSWORD' DB_NAME | gzip > mysql_backup.sql.gz

而 WordPress 的檔案可以直接使用 FTP 抓取,或是使用 rsync 備份:

rsync -avz username@old.webhost.com:/path/to/www .

如果新舊主機都可以使用 SSH 登入的話,其實可以直接在新主機上使用 rsync,直接把檔案搬到新主機上,這樣子是最快的。

Step 3
設定新主機的 MySQL 資料庫與帳號,我們需要在新的 MySQL 伺服器上新增一個 WordPress 網站專用的 MySQL 資料庫與一個帳號,資料庫與帳號的名稱可以自己任意取,假設要新增一個 blogdb 資料庫與一個本機的 dbuser 使用者,首先用 MySQL 管理者的權限進入資料庫:

mysql -h localhost -u root -p

接著新增 blogdb 資料庫:

CREATE DATABASE blogdb;

新增本機的 dbuser 使用者,並且開啟其使用 blogdb 資料庫的權限:

CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON blogdb.* TO 'dbuser'@'localhost';

由於這裡新增的 dbuser 使用者是專門給 WordPress 用的,平常我們不會用這個帳號登入,所以建議可以使用亂數的方式產生比較複雜的密碼,這樣安全性比較高。

Step 4
建立好 WordPress 用的 MySQL 資料庫與使用者之後,就可以將剛剛備份的 WordPress 資料庫倒進去了,我們可以使用 phpMyAdmin 將資料匯入剛剛新建的 blogdb 資料庫,或是使用 mysql 指令匯入:

zcat mysql_backup.sql.gz | mysql -h localhost -u dbuser -p blogdb

這樣資料庫的部分就完成了。

Step 5
將 WordPress 的檔案放置到適當的位置,在 Ubuntu Linux 中大家通常習慣會把網頁資料放在 /var/www 之下,所以我也就直接把 WordPress 的網頁檔案放在這裡,依照網站建立目錄:

sudo mkdir -p /var/www/blog.gtwang.org

接著就將剛剛從舊空間備份出來 WordPress 檔案放進來這個目錄,或是直接在這裡使用 rsync 將檔案搬過來。搬過來之後,先編輯 wp-config.php 這個設定檔,更新一下資料庫的設定:

define('DB_NAME', 'blogdb');
define('DB_USER', 'dbuser');
define('DB_PASSWORD', 'PASSWORD');
define('DB_HOST', 'localhost');

最後還要變更一下檔案的擁有者:

sudo chown -R www-data:www-data /var/www/blog.gtwang.org

Page: 1 2

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: Nginx

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

1 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

2 年 ago