静态站点托管的选择
参考前一篇博客,假设你克服了重重选择困难症,和我一样选择了生成静态站点托管的方式来搭建个人博客。 那么紧接着就要面临选择哪家服务商的问题。
这篇博文正是要聊聊市面上现有的静态站点托管服务,以及在搭建个人博客这一特定应用场景下的比较。
静态站点托管服务之间的比较
七牛/腾讯云/阿里云的对象存储功能
云服务商提供的对象存储功能,几乎都可以制定index.html为主页。 因此用一些博客生成器生成静态的网站,然后上传至bucket,最后绑定自己的域名,就摇身一变成了一个像模像样的网站了。
优点是价格相对便宜,操作也不复杂,只要无脑地把文件上传就好。 因为本身就是对象存储仓库,因此可以将图片和文章放在一起,无需另找图床。
但这终究是一种“旁门左道”,太非主流了,缺点相当多:
-
没有版本管理,并且需要同时手动管理两部分内容:用markdown写的博客内容,和生成的html文件。虽然只需要上传生成的html文件即可,但是依然要把源文章以及模板内容等“元信息”手动备份。
-
用起来也不是很方便,任何修改都要先在本地用博客生成器生成网站文件,然后把这些文件手动上传。
-
往往都不是免费的。
GAE/SAE等“云引擎”
虽然这些App Engine主要是为了运行PHP/Python的。但是也完全可以当作纯静态页面托管服务来使用。
其实和前一种直接放在对象存储服务里没有太大区别,价格也差不多(GAE是免费的,SAE对于小规范访问而言也几乎免费)。 不过多了动态性,心情好的话可以自己写代码丢在上面运行 :P,何乐而不为呢?
GitHub Pages
知名度最高的静态博客托管处了,网上也有很多介绍/教程。
概括一下优点:
-
免费,有许多炫酷主题可以直接用。
-
只需要专注于内容和模板等“元信息”,只管用markdown写,写完push上去即可生效,生成html这一步由系统自动完成,不用自己操心。
-
基于git,天然享受了git带来的全部优点。
缺点:
-
对于英文不好的同学,第一次配置的话也很折腾。并且修改模板直至自己满意,也是需要很大功夫的。
-
目前只支持Jekyll这一种博客生成器,如果用Hexo之类的话,要把生成的html文件也同步上去。显然这就把git当对象存储仓库用了,这是极其糟糕的行为,这样做的同时也就失去了git的意义。
-
空间有限,图片要另找图床。把图片等二进制内容放在git里同样是非常糟糕的行为,加载速度慢不说,空间大小也有限,很容易就把GitHub的1G配额用完(由于git的特性,占用空间只增不减,除非你乐意把commit记录全丢掉)。
-
自定义域名不支持TLS。
(个人域名不能加https小绿锁还怎么愉快地装逼?) -
国内访问速度一般。
2016年12月22号起,有访问量限制
Gitlab Pages等替代品
这里同时也包括Coding Pages/Bitbucket Pages等产品,它们几乎就是GitHub Pages的改良版。
以Gitlab Pages为例,它在GitHub Pages的基础上,额外的改进:
-
支持上传自定义的TLS证书。
-
支持所有静态站点生成器(GitBook, Hexo等等都不在话下)。
-
空间更大,且无访问量限制。一向比GitHub要大方得多。
缺点:
-
一些细节功能上的体验不如GitHub。
-
认可度不高。毕竟GitHub是开源界的No.1,大家都想往GitHub上挤,有啥办法呢?
-
访问速度比GitHub还慢,而Coding Pages等国内服务绑定域名就要备案。
其实对于个人博客这种不需要协作开发的项目来说,Gitlab已经足够用了,绑定自定义域名之后,区别就更小了。尤其是再套上CDN,几乎看不出区别。
我的选择
因为自定义域名的TLS证书问题,在Gitlab和Github之间短暂纠结了一下,但最终还是选择了GitHub。 因为GitHub Pages对我来说已经足够用了,不想同时维护两个代码管理平台。 (其实心里期待的是GitHub有朝一日会支持上传TLS证书 >_<)
然后为了加一把小绿锁,选择了CloudFlare作为反向代理的CDN。 图床的话,在腾讯云和七牛之间比较了一下,最终选择了腾讯云。
有关CDN和对象存储服务的选择,在下一篇博客中再详细聊聊。