1 | 若是奔着免费而去,就会很有动力! |
可惜标题却暴露了,终究还是薅失败了… 又要免费,又要好,做梦吗?
壹
博客使用Hexo生成静态页面。
最开始部署到GitHub Page上,效果还不错,但是随着“墙”越来越高,博客打开速度变得越来越慢。
尝试过公共资源换成min版(如jquery.min.js等),或者链接国内资源,甚至文章图片用国内图床等方法。
貌似效果都不太理想,因为index.html加载都慢的不行…
看来,GitHub Page这条路子算是到头了…
贰
考虑到国内应该会紧跟国际风向,果然,发现了coding.net,这个平台也提供免费搭建Page的服务。
后面写东西遇到coding无法部署更新了。
检查后发现coding要求升级,升级后使用腾讯云的oss和cdn来搭建Page(严格来说是部署)。
由于域名没有备案,只能选择非大陆节点,貌似cdn又无法选择香港节点,就连日本节点也没有,最近的就只有马来西亚节点了,搭建好后发现访问速度更慢…
怎么办呢?然后又在coding兜兜转转了几圈…
发现原来升级新版后依然可以换成旧版(必须升级才能看到“切回旧版”的链接…这…),切回旧版后又可以正常部署了,那又继续薅呗!
叁
突然有天coding又不稳定了!!!直接无法打开博客了…
后面想来想去,既然使用腾讯oss和cdn可以做Page部署,那么阿里云是不是也可以?阿里云会不会提供香港节点呢?
操作后,发现阿里云单独使用oss就能提供页面访问了,并且还提供了香港节点,不需要cdn,那就上呗!
嗯?岂不是要付钱了?看看价格,oss流量费还算便宜(0.12元/GB/月)… 博客嘛,小水管,1块钱都可以愉快的玩很久了!
那么问题来了,如何方便的更新部署呢?
coding提供的服务类似流水线,本地更新通过git提交到coding后,coding会将更新部署到腾讯云的oss上。
而如果使用阿里云oss后,就只能自行部署了,有2种方式:
- 本地获取git的更新记录,再用shell脚本加持下,应该能完成更新。
获取git更新记录命令如下:
1 | git diff --name-status d6f4c82340c661ec7ac49152fea255b0a46f9b9d head |
每行前面的字母就是文件状态
- ‘ ‘ = unmodified
- M = modified
- A = added
- D = deleted
- R = renamed
- C = copied
- U = updated but unmerged
- 既然coding是自建的流水线,那么也可以自行使用免费的gitlab的CICD(没曾想到工作中学到的东西终有一天居然可以民用了,值了!),然后再在gitlab-ci.yml中配置shell脚本,应该也能完成更新。
gitlab免费提供400分钟/月的CICD服务,对于博客的部署肯定完全够了(gitlab的CICD配置后期再仔细讲讲… 如果不鸽的话,笔记都有,懒得整理)。
(上述2个方法都只说了更新部署的方案,没有说oss的具体操作,因为我并没有采用这2个方案,还不是因为太麻烦了呗。不过我看了阿里云oss的api提供了http的方式,应该是可以实现的)
肆
由于2个方案好像都挺麻烦,又想来想去,既然阿里云只用oss没用cdn就能实现Page服务。
那么腾讯云为什么就必须要用cdn呢?而且还没有香港节点!
这么复杂的部署、这么慢的服务,这还怎么和阿里云竞争?还卖个毛的服务啊!
于是又重新配置coding.net,部署完成后再去腾讯云关闭cdn,并直接在oss中配置上域名,操作简直和阿里云如出一辙!
然后博客可以访问了,速度还杠杠的!(coding怕不是腾讯云cdn的托吧…)
这样子利用coding的服务又可以轻松完成博客的部署了,还是让别人来做的香啊…
coding升级腾讯云前6个月免费,后面收费了,费用应该也便宜(毕竟阿里云也才1毛2啊…)。
DEí
折腾这么久,终究还是付了钱,但是服务更稳定了,所以说,又想免费又想好,怕是只有找到老…
最后用老罗的话术来结尾吧:
几乎免费的方法!
coding.net + 腾讯云oss(关掉那该死的cdn)