之前偶然在网络服务器供应商的网站上发现,供应商推荐使用“轻量云服务器”来替代“虚拟主机”,而后者就是吉力这个博客现在再用的网络空间服务。
虽然我之前购买的服务还有2年才到期,但我却担心一个问题:如果将来真的要变更网络供应商,我该怎么办?去年年初,因为实在不满意当时的博客速度,我一气之下把当时的博客全部删除,备份都没有留——说实话,当时也不知道怎么留。于是,积累了10年的文章只能在我的公众号里还留下印迹。我不希望这样的事情再次发生。
于是还是折腾想想,可以怎么做。经过了半天的研究和实践,应该算是做好了这样的准备。
我这篇文章也是给自己留个记录,万一以后真的要搬迁时,还能回来再参考。如果你也跟吉力一样,对于网络技术未必像那些大神那样精通,也可以参考。
首先,要给自己的博客网站安装“Updraftplus”插件,免费版本的就行。
这个插件可以定期备份自己的网站,包括数据库、插件、主题,上传文件,以及其他东西。经过我一系列折腾后发现,免费用这个插件已经足够让网站顺利完成迁移,不需要付费。非常好用。
当我们需要迁移时,手动进行一次备份,我个人建议只需要备份:数据库以及上传文件即可。主题、插件不要同时迁移,很可能会发生冲突问题。迁移后再自己安装即可。
第二步,在新的云服务器上建立新的网站。
我原本想在腾讯云上买一个轻量云服务器的,没想到可能是刚刚注册账号,说我账号异常!连买都不让买... 晕死... 于是还是在我原本的网络服务商里,购买了轻量云服务器。两百多一年,流量和空间都比我现在的虚拟服务器大很多,价格还便宜。这也是为何我在服务到期后,可能决定搬迁的原因。
至于云服务器上怎么安装wordpress等等,网上有非常多攻略,甚至于腾讯云还能够一键安装wordpress,很简单。其实本质上和当时使用虚拟主机差不多:创建一个新的网站,新建数据库、FTP,然后把域名绑定到这个服务器IP地址,随后上传wordpress所有的安装文件到网站FTP的根目录,然后打开网站地址,输入数据库的用户名和密码,就可以看到一个全新的wordpress网站了。
比方说,为了测试,我就先做了一个备份网站:backup.wangchenjie.com
随后,在新的backup网站的插件里,同样安装Updraftplus插件,上传我们之前备份的数据库和上传文件,随后点击“恢复”。
在恢复时,要留意关于数据库格式的问题。在恢复时,会出现下面这个画面。
我们需要把“字符集”更改为:utf8mb4,把下面这个替换排序规则改为:utf8mb4_general_ci,这样就可以确保数据库格式不会发生混乱。
等到Updraftplus完成了恢复后,我们就可以发现网站内之前写的文章,包括上传的图片等都会出现在新的网站里。
这时,我们再把之前的主题单独安装好,再逐步安装所需要的插件,特别是Cache缓存类的插件,这样避免出现不兼容的问题。
不过,在我实操过程中,网站突然出现了“ERR_TOO_MANY_REDIRECTS”的错误。这是因为我们使用了Cloudflare来做域名解析,他家默认用的是https,但如果后台设置不正确的话,就很可能出现http和https反复跳转,最后网站出现这种报错,无法打开。
我尝试了很多种办法,最后发现可以用一种方式解决:
在云服务器后台内,设置好SSL证书,这样使用https时,网站本身是有证书的,就不会出现问题。而这个证书,可以在设立好网站时,立刻就做登记。
Cloudflare这个赛博菩萨也提供了免费的源服务器SSL证书,把它贴到云服务器的网站信息里面,就OK了。之后也确实解决了Too Many Redirects的问题。
当然,未来如果我要把backup.wangchenjie.com的域名再改回www.wangchenjie.com,直接修改网站内的文件夹等也是没问题的。可是,实操发现,这样做很容易出错。
所以,未来如果我真的要把www的网站同样进行搬迁,我可能会先在backup网站上做好一个一模一样的备份。然后再在服务器内,重新建立一个www的网站,再重新做域名解析。把上面的步骤重做一遍。实际花费的时间其实不会超过10分钟。
我还有另外两个typecho网站,它比wordpress更加轻量级,我已经彻底把它们从原本的虚拟主机转移到了轻量云服务器。其中一个就包括 https://freedom.wangchenjie.com
typecho转移的方式更加简单:创建新的网站和FTP(数据库都不需要),做好域名解析(域名和原网站不同),上传typecho安装文件到网站根目录,然后打开网站链接,就能建立一个新的typecho。随后,在原网站上,做一次数据库备份,在新的网站上上传,同时上传好主题,把设置和原本的网站一致,就OK了!
如果域名还是要和原网站一致,那么因为已经有个备份网站了,就可以把原来的网站给删掉,域名解析到新的云服务器,再把上面步骤做一遍,就OK!
为了避免在未来迁移时,所需要上传的文件太大,我如今所有的博客网站图片,都用的是Cloudflare的R2空间做图床,用PicGo来上传。
具体的方式可以参考https://www.duangvps.com/archives/2015
这样图片就不存在我们的虚拟主机或者云服务器中,未来“upload”文件夹会尽可能小。当然缺点是,Cloudflare毕竟在墙内访问的速度可能不理想,但谁让人家是免费的呢?况且只是速度慢点,也不至于像Github那样完全打不开。
文章评论