感觉这是重复每隔几年就要进行的练习,这一次把Blog从Amazon Lightsail VPS迁移到了甲骨文云(Oracle Cloud)的虚拟机。
很多人白嫖甲骨文云(确实有非常丰厚的免费额度),我之前架设的Termux的APT镜像也是用的甲骨文的免费资源。但是最近发现免费账户基本allocate不到资源了,所以填了个信用卡升级到了Pay As You Go账户级别,突然就能allocate到VM了。虽然是付费账户,但只要还是在免费额度以内,并不会产生费用所以其实无所谓。
甲骨文云的定价真的是白菜价(免费啊!),开了个四核24G内存的VM来作为我主要的VPS,其中一个用途就是用来跑这个博客(部落格)网站。促使我从Amazon Lightsail搬过来并不是因为我不想每个月掏那3.5美金(好吧,不只是),而是很快亚马逊要开始对公用的IPv4地址收取额外的费用。已经被亚马逊云收费恶心过一次了(给的CPU非常垃圾,超过的部分要额外收费,超得太过了还会pause导致前一段时间VPS无响应了一天)。一对比,甲骨文云的虚拟主机性能高出太多,还不要钱!
吐槽完了,分享一下这次迁移的心得。
- 首先从原主机上做一个新的备份,把
/var/www/
整个目录都备份下来,然后MySQL或者MariaDB也做一个备份(这里至少需要备份wordpress
这个table
) - 把备份传到新主机上(用
scp
安全传输) - 新主机依次安装配置好:
nginx
php-fpm
iptables
(保证80和443端口开放)mysql-server
ormariadb-server
(用和原主机一样的vendor,不然可能恢复备份的时候会有问题)
- 恢复
wordpress
到新主机的数据库里 - 恢复
/var/www/
,可能需要按新的nginx
配置稍微改动权限或者nginx
的配置文件
一开始我在新VM安装配置的是MySQL,结果恢复备份的时候就有问题(database engine不一致,好像用了个MySQL没有或者是默认没有的引擎)。彻底删掉重新配置安装MariaDB就没事了。
后来又遇到恢复的SQL用户没法登录的问题,好在这个简单,我删掉重新创建一个同名的用户(同样的密码)就OK了。
我遇到的最大的问题,是wordpress
本身没法运行,害得我要重新下载安装wordpress
,不过可以继续用原来的数据库所以并没有丢失任何帖子或者评论,多媒体附件从之前的备份wp_content
目录下拷贝过来修改好权限也没问题。就是插件都要重新安装配置,干脆就趁机轻装上阵少了几个插件,然后换了一套主题。
另一个小问题是,因为IP地址变化,要在DNS那边改动,估计会导致有一段时间暂时无法访问。要申请新的SSL证书,LetsEncrypt也会要检查DNS记录,所以要稍微耐心一点。
目前个人感觉网站访问速度比之前在亚马逊垃圾VPS要快一些。操作系统也从CentOS 7换成了Ubuntu 22.04,所以很多组件也随着升级了(PHP升级到8.1了!),也算是个bonus