网络上关于转移 wordpress 的文章已经不计其数,我这里只是做一个自己的记录。

网络环境

从一台已经配置好的机器将网站转移到一台新机器。接下来均称呼原网站所在 vps 为 old ,新的 vps 为 new

old 操作

old 上的操作包括:

  1. 备份数据库
mysqldump -u root -p 数据库名 > bakup.sql
  1. 备份wordpress
tar cvzf backup.tar.gz /home/wwwroot/fooleng.com
  1. 传输备份文件至 new

当使用密匙方式登录远程 vps 时,其设置可以参考在个人服务器上搭建GIT仓库

scp local_file remote_username@remote_ip:remote_file

new 操作

  1. 安装 lnmp

参考VPS折腾日志

  1. 解压 wordpress 至 /home/wwwroot
cd /home/wwwroot
tar xvzf ~/fooleng.tar.gz
  1. 新建数据库与用户(也可以在安装 lnmp 时完成)

注意:new上新建的数据库名称跟old上原有数据库名称应相同

-- 创建本地登录用户
CREATE USER username@localhost IDENTIFIED BY "password";
-- 创建远程登陆用户
CREATE USER username@% IDENTIFIED BY "password";
-- 创建 wordpress 数据库
CREATE DATABASE databasename;
-- 赋予权限
GRANT all privileges on databasename.* to username@localhost;
-- 删除mysql用户
drop user username@localhost;
  1. 导入数据库
mysql -u root -p databasename < backup.sql

修改wordpress域名

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
cd /home/wwwroot/old.com
wp search-replace 'old.com' 'new.com' --allow-root

域名解析操作

到自己的域名管理中将原指向 old IP 的域名修改指向 new IP。由于每个人使用的域名管理商可能不一样,我这里就不作一一介绍了,大家根据自己的实际情况去修改就可以了。