使用 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 {} +