其他方法总结:
首先,归纳一些官方提供的迁移接口:
1.(如果还没有新服务器)如果用的阿里云,阿里云提供服务器镜像:
将前服务器创建自定义镜像,复制迁移地域(如我是青岛服务器到新加坡),在新地域中用镜像创建新服务器,购买服务器。这样新服务器只是继承原服务器的环境,个人认为不好用。也就是在(阿里云服务器->宝塔->wordpress)金字塔中从顶端层进行了迁移。
2.(有新服务器了,还没配置宝塔)在原服务器宝塔软件商店里使用“一键迁移”,新服务器自动被配置好了,也就是在(阿里云服务器->宝塔->wordpress)金字塔中从宝塔这一层进行了迁移。
3.(有新服务器并安装了宝塔,又通过宝塔安装了wordpress),这样在wordpress层可以利用wordpress的迁移功能:搜索插件“All in one WP Migration”,可以打包wordpress所有内容,下载到本地;再新服务器wordpress安装此插件后导入本地备份,恢复所有内容。(这个插件有大小限制)
以上接口分别从三个层面进行了打包迁移。
手动迁移方法:
上述方法并不完全可控,可能在某一环节出现问题,或者无法实现自定义的迁移,如更换文件,版本更新等。
下面我们从最开始手动迁移服务器。
准备工作:
在前服务器还没过期时,进入宝塔文件列表根目录,将站点文件夹创建压缩,下载到本地;或者通过站点备份,下载到本地;或者进入文件夹,有目的的下载单个文件到本地。
如以下我的站点和子站点两个文件夹,另一个文件夹可能为“default”或IP地址,不用动。
进入宝塔数据库面板,备份数据库并下载到本地,有几个就备份几个。
购买新服务器,按照流程启动,并安装新宝塔。
域名和服务器:
进入云解析DNS,我们添加新服务器的解析:
可以看到,上面记录值138结尾的是前服务器域名解析,66结尾的是新服务器域名解析,两者并不冲突,一个域名可以解析到多个IP。由于我新服务器在新加坡,想提供外网访问,于是添加了境外解析请求来源。
解析完成后,在阿里云服务器实例内添加域名:
显示已解析为成功。
站点、防火墙和数据库:
进入新宝塔,添加站点:
选择创建数据库,可以用新名称和密码,PHP版本要大于等于原版本。
创建完站点,会发现文件列表根目录出现了域名名称的文件夹。但此时还不能通过域名访问到新站点,因为可能会定位到之前还没过期的服务器的网站,域名解析会自动解析到最近的网站。
有必要提前处理的是,添加所有需要的防火墙/安全组。先在阿里云服务器防火墙添加需要的端口如:8888、3306等等,再在宝塔内添加相应的端口规则。
注意,在添加端口之前,不要随意更改宝塔的面板端口等设置。
接下来,就可以迁移数据库了:
在数据库面板,分别对应导入本地的几个备份(前面准备的)。
迁移数据:
如果不出意外,现在可以关闭前服务器,用域名已经可以访问我们的新网站了。
现在可以把我们准备的站点压缩包传输到根目录替换原文件夹;或者将准备的文件都导入到目标文件夹内。原先的四个文件(如下)可以丢弃。
最后一步:由于我们使用的wordpress,打开站点内的wp-config.php文件,将域名、IP、密码等都修改为最新的:
多个站点,每个站点内都要改。
至此,迁移完毕。