使用 WP-CLI 迁移 WordPress 站点到新服务器的方法

WP-CLI是管理 WordPress 的强大工具。还可以使用它来自动备份和迁移WordPress网站。本文并不介绍如何安装Web 服务器环境。整个迁移过程分为旧服务器操作和新服务器操作两个步骤:

旧 WordPress 服务器

在旧服务器上安装 WP-CLI

备份 WordPress 安装和数据库

将备份传输到新服务器

新 WordPress 服务器

在新服务器上创建新数据库

将旧数据库还原到新服务器的数据库

在新服务器上安装 WordPress

旧 WordPress 服务器的准备工作

请注意,在整个过程中,旧站点为:wp-old,实际操作中,请根据自己的站点来替换。

安装 WP-CLI

sudo wget -q https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/bin/wp sudo chmod 755 /usr/bin/wp

进入 WordPress 目录(注意更改实际路径)

cd /var/www/wp-old

导出数据库

mkdir -p ~/backups wp db export ~/backups/wp-old.sql --allow-root --skip-themes --skip-plugins

现在 打包 WordPress 网站文件夹, 包括当前目录中的所有文件和文件夹。

tar -czf ~/backups/wp-old.tar.gz .

请确保在wp-config.php中指定了数据库前缀,因为需要指定它才能正确还原在新服务器上(一般默认情况下是指定了的)

现在,在~/backups目录中,数据库备份(wp-old.sql)和整站文件备份(wp-old.tar.gz)。

通过 SFTP 或 FTP 将这两个文件下载到本地。

准备新 WordPress 服务器

在此操作之前,应该已经准备好了新服务器上 Web 环境,例如Nginx、PHP、MySql等(尽可能与旧服务器的环境保持一致,迁移之后再升级环境)。

将数据库备份 (wp-old.sql) 和 整站文件备份(wp-old.tar.gz) 上传到新服务器。例如放到:~/restore目录。

安装WP-CLI,需要事先安装了PHP才能运行WP-CLI

sudo wget -q https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/bin/wp sudo chmod 755 /usr/bin/wp

创建新数据库

mysql -u root -p

以下内容(数据库名、用户名、密码、MYSQL主机地址等)请与旧站点中的wp-config.php文件中数据库信息部分一致:

CREATE USER wordpressuser@localhost IDENTIFIED BY "passw0rd"; CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY "passw0rd"; FLUSH PRIVILEGES; quit;

创建新的wordpress目录(这部分步骤如果使用宝塔面板或LNMP一键包,可以参照其创建虚拟主机的步骤)

sudo mkdir -p /var/www/wp-new-dev cd /var/www/wp-new-dev

下载WordPress核心文件

wp core download --allow-root

创建wp-config.php文件并指定在上面创建的MySQL数据库信息,数据库名、用户名、密码、MYSQL主机地址等。

如果不使用默认的( wp_ )前缀,则可以通过--prefix指定数据库前缀

wp core config --dbname=wordpress --dbuser=wordpressuser --dbpass=passw0rd --allow-root --dbprefix=wp_

现在执行将旧数据库和WordPress文件夹还原到新站点

以root用户登陆,将数据库备份文件上传到,/root/restore/wp-old.sql

wp db import ~/restore/wp-old.sql --allow-root

如果替换了WordPress站点的域名,可以执行以下 WP-CLI 命令:

wp search-replace old.com new.com --allow-root

如果一切正常,请再次运行该命令。会提示“ 空 ”。

现在将 整站文件备份(wp-old.tar.gz) 解压缩到新站点目录中,同时排除wp-config.php,因为已经使用 WP-CLI 配置好了。注意修改wp-new-dev路径

tar -xf ~/restore/wp-old.tar.gz -C /var/www/wp-new-dev --exclude=wp-config.php

将WordPress文件和目录权限更改为建议的安全权限:

sudo chown -R www:www /var/www/ sudo find /var/www/ -type f -exec chmod 644 {} + sudo find /var/www/ -type d -exec chmod 755 {} +