网站搬家记:从共享主机搬到虚拟专用服务器VPS
预计所需阅读时间:6分钟
以前的虚拟共享主机(Shared Web Hosting)不知道什么原因丢了博客的全部数据,而且在回收站里也找不到。从2014年用到现在,整整5年了。但是,主机的服务商却不承认对此负责,而我自己很清楚我没有做删除动作,更没有清空过垃圾桶。主机服务商今年春季已经发出公告说:共享主机已经连续大额亏损2年了,所以要停止服务。给了我一个截止时间,让我在之前搬走。我追问服务商什么情况,他们不承认说我程序的问题,难道我程序把自己吃了,里面有代码将自己删除。博客数据的丢失等于是直接把人逼走,那么他家的V+P+N服务我也不想再用,也可能推荐给人。
万幸的是在收到这个公告的3月,我立即做了一次全站的备份。数据丢失之后,吓得我立即去查看数据库,幸好没有任何问题,立即导出了最新的博客数据库。没有过三天,通过服务后台登陆CPanel后台已经出现错误了。对于不能登陆CPanel的问题没有回答,直接把工单关了。虽然现在可以登陆,但数据不见了,回复问题那么慢,我觉得这家服务商在处理结束问题时,非常没有诚意。
有了3月的备份文件和最新的数据库,我只需要把三个月的图片再上传然后修复链接就应该没有什么问题了。那么,选择将网站搬到哪呢?在收到公告之后,我期间有看到Vultr的广告,在一个资源搜索网站上。后来在22号看了看它家价格和参数,最便宜的VPS只要5美元,发现它家的虚拟专用服务器(Virtual Private Server)性价比高,以前的200元一年,连续购买相当于2美元一个月。后来才发现,结合优惠券,搬瓦工的VPS最低档还更便宜,但参数比Vultr的相近档要低。当然,每个站长都应该根据自己的需要选择合适的VPS。
用支付宝充了10美元,开通了服务,同时也赠送50美元的额度,只有一个月期限,等于说头一个月可以给人免费试用差不多全部产品。然后选择开通5美元每月的服务器, 选择了日本的机房,发现服务器IP在中国访问不了,于是又开了一个还是打开不了。连续有这样的问题之后,发现网上已经已不少人说Vultr的服务器IP被封的现象很严重。这时,我选择在新加坡开服务器,毕竟测评反映中国到新加坡机房的速度还很好。开了几个服务器之后,找到了一个可用的IP。当找到可用的IP后,就要好好珍惜,不能乱用。
Vultr换IP还是很方便,就是点几下开服务器那样,找到一个可用的IP。每开一次服务器再关闭IP不通的,只需要收0.01美元。开可用的VPS之后,用Snapshots功能为原来的网站数据做个快照,然后恢复到新的服务器。不需要像其它服务商换一次IP都要1美元以上的手续费。当然说不定也有些免费换的,我没办法做全网调查。
一键选择Wordpress环境布置,花了点时间摸索,发现还是按服务商的帮助文档做最稳妥。接着,导入数据库,上传博客文件,而上传文件就花了半个下午的时间。之后又花了一个晚上时间,把当中丢失的图片重新上传,修复链接。这样算是把博客搬家完毕了。
后来看到文章说Vultr新出High Frequency服务器最低只要6美元,CPU、硬盘速度的跑分是5美元的普通VPS的三倍,实际性能至少也比普通的高50%以上,空间还多7个G。还看到网上有囤VPS的说法,于是决定开一台高性能VPS,这样网站的速度也会快一些。因为,服务器CPU还是影响网站代码运行的重要参数。Vultr家的高性能服务器目前只有在纽约机房有,这次我开了差不8台服务器才找出可用的IP。然后,用tar、ssh命令配合把原来VPS的数据复制到新HVPS上,命令一敲数据就飞速传了过去。总而言之,中国网民访问国外网站犹如出海,而国际间的网络传输,保是隔着一条光纤的距离。
而VPS与共享空间最大的不同是,可以拥有整个虚拟服务器的最高权限,以Root用户身份直接修复、调整整个系统,当然主要是用命令行的方式。命令行对我这个商科毕业的人起码知道,但操作起来非常烦琐,不习惯,而且很多原理都不懂,操作出错后,经常要找错误的原因和命令的具体用法。当然,安装后的这四天还是做了不尝试,等于用了4天学习并操作运维的工作,当中有成功和不成功的例子:
1.建立了V/P/N服务。
2.安装youtube-dl,学会用命令批量下载youtube(也可以下载国内外众多视频网站的)视频到VPS上,再用FTP传回本地。即使要中转下载,但整个过程加起来还是很快的。之后装上了ffmpeg,可以下载1080p的视频,甚至是2K、4K的视频。
3.用rclone把我所有国外的网盘和坚果云挂载到服务器,方便文件同一管理。以后,可以用定时任务功能做跨网盘的同步,不需要下载到本地的电脑。或者,用网盘来备份服务器数据。
4.安装了Docker和Python3的运行环境,但没有尝试后续的玩法。
5.想用Aria2建立离线下载,甚至是自动同步到onedrive网盘的功能,但是没成功,主要是VPS系统的RPC服务没有运行起来。后来还是不想搞了,因为我用离线下载的地方还是少。
6.做BBR优化,开启Gzip成功。但是,安装配置Brotli没成功。后来网上发现在Linux安装不少东西需要重新编译,用make命令,而在重新编译的过程中,还要注意很多参数,对于我不是专业做运维的人来说还是太麻烦了。
最后选择安装图像化的控制面板,就像CPanel那样,我现在选择用的是AppNode,没有CPanel那到强大。以前用共享主机,只是安装一下Wordpress的代码,只是一个小小的独立博客博主。现在用到专用服务器,安装、配置、调试、查错都要自己来搞,算是运维的工作。即使只是做两天四晚,都让人很焦虑了。所以我还是稳稳当当地用好控制面板就行了,只要博客正常、V-P-N、网盘挂载服务正常就不用去敲命令了。
这几天一下,自己还是学到很多Linux的知识,比起跑虚拟机的Linux系统更加实际,因为问题都是现成的,解决后又能马上看到结果,所以学起来还是有趣的。当然,运维的作用就是把系统和网站的环境维护好,剩下就交给写内容的去发挥了。