经常玩 WordPress,难免会遇到 WordPress 换服务器主机搬家的事情,或者主机和域名一起更换。虫子上个月也做了一次搬家,考虑到网上已有的 WordPress 搬家教程不完整,我来写一个相对完整一些的。
1.准备工作
1.1 域名解析
把域名的DNS解析到新的服务器 IP 地址。
※DNS解析教程
1.2 主机设置
在新主机搭建好网站环境,创建新的虚拟主机(但是不要传 WordPress 网站程序)
※搭建网站环境
※创建虚拟主机
2.文件转移
文件转移有两种方式,一种是从旧服务器把文件下载到本地,再从本地上传的新服务器,另一种是通过SCP命令让两台服务器直接远程复制文件,如果你新服务器和旧服务器都是单独的 VPS 主机,建议使用第二种方法。
2.1 本地转移
FTP把根目录下所有文件下载下来,再把所有下下来的所有文件(包括wordpree文件及你所用的主题文件)通过FTP上传至新服务器目录中
2.2 SCP命令
以 LNMP 搭建的网站环境为例,我将 WordPress 从A服务器转移到B服务器,同时把原域名 fangeqiang.com 更换为新域名 fangeqiang.xyz (如不换域名,那么A、B 服务器的文件目录不用更改,保持一致即可)
打开 Xshell 登陆 A服务器,执行命令如下:
scp -P 22222 -r /home/wwwroot/fangeqiang.com/ root@112.112.112.112:/home/wwwroot/fangeqiang.xyz/
当你操作时,需要根据自己的情况,替换如下信息
22222:B服务器端口
/home/wwwroot/fangeqiang.com/:A服务器 WordPress 的文件目录
112.112.112.112:B服务器IP地址
/home/wwwroot/fangeqiang.xyz/:B服务器 WordPress 的文件目录
3.转移数据库
3.1 导出数据库
打开A 网站的数据库,并导出
3.2 导入数据库
打开 B网站的数据库,导入 A 网站数据库文件
4.修改数据库
如果 WordPress 只换服务器,并不换域名,可以跳过这一步。
4.1 搜索
搜索 A 网站域名,查看含有 A 网站域名的表和字段。
可以看到多个表中含有 A 网站域名,先点击第一个含有 A 网站域名的表右侧的『浏览』按钮
进入表后,确定 A网站域名所在的字段
4.2 替换
执行替换命令,把所有表中的A 网站域名替换为 B 网站域名
UPDATE AAAAAA SET BBBBBB = REPLACE(BBBBBB,'旧地址','新地址');
执行替换命令前需根据自己的情况对以下内容进行修改
AAAAAA:表名
BBBBBB:该表中含有 A网站域名的字段名字
旧地址:旧网站域名
新地址:新网站域名
按照以上范例,依次对所有含有 A 网站域名的表进行域名替换的修改。
5.修改wp-config.php
打开新网站根目录,找到 wp-config.php,修改如下内容
define(‘DB_NAME’, ‘wp3′);//这里输入新数据库名称 define(‘DB_USER’, ‘root’);//这里输入数据库用户名 define(‘DB_PASSWORD’, ’123′);//这里是输入数据库密码 define(‘DB_HOST’, ‘localhost’);//这里是数据库服务器,一般都是localhost
结束
做完以上步骤后,在浏览器打开新域名,一般就可以正常访问了。