自从我开始筹备这个网站以来已经换了三台啊三台主姬了,之前用的是34软妹币/月的阿某云轻量应用服务器,HK 地域的,Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz+2GB内存+60GB ESSD,性能还不错。

事件全流程大概是这样的
选购服务器时我直接选了 WordPress 的应用镜像,阿某云的 WordPress 5.6.2 的应用镜像底层环境是 CentOS 8.2,PHP 7.4,MySQL 5.7,Nginx 1.18(LNMP 是 OneinStack 的),所以也就不能安装某塔面板什么的了(某塔面板要求必须是没安装过任何环境的新系统才能安装),什么都要手工配置,操作繁琐还经常报错。
当时选购的时候 WordPress 的应用镜像还只有 5.6.2 和 4.8.1 版本的,后来不知不觉有了 6.0 版本的。当然 WordPress 默认是开启自动更新的,无论选哪个版本的镜像,打开都是缀新版。CentOS 的稳定版本已经停更了,6.0 版本的应用镜像的底层环境改成了 Alibaba Cloud Linux3,PHP8.1,MySQL5.7,Nginx1.22。




上个月手工配置 SSL 证书之后,我的网站出现了各种大大小小奇奇怪怪的问题,折腾到月底也没完全解决,这个月月初索性直接重启了服务器,结果我的网站直接炸了,好像是 503。(没截图)
上网查找解决方案,运行 nginx -t 命令,发现是 nginx.conf 配置文件有问题,修复完所有错误之后,运行 nginx -s reload 重载 nginx。
再次刷新之后,我的网站发生了奇怪的事件,一打开就是下载,然后下载的那个文件还和 index.php 的内容完全一致。网上搜索了各种解决方案,逐一尝试后都没有什么卯月。有说 php 没在运行就解析不了 php 文件的,但是我的 php 是在运行的;还有直接说什么建议找一下主姬商咨询下的,但是我觉得能自己解决的问题尽量不找主姬商。

正好我那阿某云轻量应用服务器还有半个月到期,在考虑是否要换姬,以及换姬是否能解决问题。我去看了114514次隔壁TX云的最新活动,TX云的HK的轻量应用服务器也不便宜,性价比不如阿某云的高,虽然应用镜像比阿某云的多;TX云的32软妹币/月,存储空间只有阿某云同产品的一半;而我那阿某云轻量应用服务器34软妹币/月对我的网站来说成本有点高,虽然性能还行,存储空间也比较大。
我一直修到了8.10野兽先辈日都没修好,然后昨天我想到了华为云,并下载了APP看看华为云怎么样。
果然华为云没有让我失望,HK地域的S3云服务器 101 软妹币 / 13 个月,首月 100 软妹币然后 1 软妹币续费一年,每天早上 9 点开始抢,数量有限,抢完为止。于是我昨天果断薅了华为云的这个超大羊毛!这个抢得还是很慢很慢的,下午1点左右才抢完,有需求的朋侑们不用着急,不用到点了狂戳屏幕(
因为 CentOS 的稳定版本已经停更了,所以这台服务器我选择了 Ubuntu 20.04 操作系统。华为云的这个S3云服务器用的处理器是 Intel(R) Xeon(R) Gold 6161 CPU @ 2.20GHz,各项参数都比阿某云的 Platinum 8269CY 低一些,但是对我的网站来说基本够用。

迁移步骤
网站数据
本来想过用华为云自带的迁移服务,但是①这个服务只有全量复制,全量复制的话,到了新主姬上还是一个有故障的网站;②这个服务只有新主姬磁盘空间≥原主姬磁盘空间才能迁移,所以我只能手工迁移网站数据和数据库。
我在新主姬上安装了 aaPanel,也就是某塔面板的国际版,然后在 aaPanel 上创建新站点,从原主姬上下载全部 WordPress 的数据,再上传到新主姬上的网站目录下。
aaPanel 单次最多只支持上传 1000 个文件,所以建议打包后再上传,或使用 Windterm 等工具上传。
上传之后要把 nginx 默认的内容为「Welcome to nginx! 」的 index.html 删掉,然后才会解析到 WordPress的首页 index.php;刚上传完,访问主页会显示建立数据库连接时出错,需要修改 WordPress 目录下的 wp-config.php 中的数据库名称和密码为现在的数据库名称和密码,然后才能正常访问。

其中,刚在 aaPanel 中安装好的 LNMP 环境,MySQL 的 root 密码是随姬生成的,这个密码可以在 aaPanel 中看到。复制粘贴这段密码到 wp-config.php 里。但是重启服务器后,这个随姬生成的默认密码可能会失效,所以建议修改一下,然后把修改后的密码复制粘贴到 wp-config.php 里。

修改完 wp-config.php 文件后,在浏览器里输入服务器的 IP 地址,回车,就看到了祖传的著名的 WordPress 五分钟安装程序。像第一次安装 WordPress 时那样安装,然后耐心等待安装完成。
数据库
刚安装完成时在仪表盘只能看见主题和插件等内容被成功迁移进来了,而文章、媒体、用户、设置等都没有,只能看见一篇《世界,您好》。所以接下来要迁移数据库了。
因为我原来的主姬上没有某塔面板什么的,也没有普通的 phpMyAdmin,所以没有办法用这些工具直接把数据库导出到文件;而且我的网站也无法正常访问,无论是首页还是仪表盘,也就没办法直接用 WordPress 自带的导出功能,WP 里的 phpMyAdmin 插件也就没办法用了;上网查找解决方案,适合这种情况的,只有使用 mysqldump 命令。
登录原主姬,在 SSH 中粘贴以下命令,并回车。原主姬的数据库名根据实际情况做出修改。
mysqldump -u root -p --opt 【原主姬的数据库名】 > /tmp/wordpress.sql
出现 Enter Password,输入 MySQL 的 root 账户密码,回车。
然后在 tmp 目录下找到 wordpress.sql 文件,复制到新主姬的 tmp 目录下;在新主姬的 SSH 中粘贴以下命令,并回车。新主姬的数据库名根据实际情况做出修改。
mysql -uroot -p 【新主姬的数据库名】 < /tmp/wordpress.sql
出现 Enter Password,输入 MySQL 的 root 账户密码,回车。
再次打开网站首页和仪表盘,发现原来的内容全部回来咯!!!
域名解析
域名解析的迁移步骤比较简单,首先在阿某云的轻量应用服务器管理控制台中删除域名、云解析 DNS 中删除所有域名。我删之前没截图,只能截删之后的图了(


然后打开华为云的云解析控制台,单击「公网域名」→「创建公网域名」,填写自己的域名,单击「确定」。

创建完成后,单击「管理解析」。

单击「快速添加解析」。

填写新主姬的 IP 地址,然后单击「确定」。

最后到域名服务商处把域名的DNS改成:
ns1.huaweicloud-dns.com.
ns1.huaweicloud-dns.cn.
ns1.huaweicloud-dns.net.
ns1.huaweicloud-dns.org.
改完之后,等待解析生效。
解析是不会立即生效的,请坐和放宽;但是一般 48 小时内都会生效,关于解析生效时间的 FAQ 戳这里。
所有步骤已完成,我们就基本完成了整个网站的迁移咯!希望能帮助到有需求的朋侑们!
(本篇完)