Hexo | Pages服务速度对比

Hexo | Pages服务速度对比

当我们在本地调试好了博客内容,就需要发布到公网上让更多的人看见我们的辛(wu)苦(liao)劳动。网上比较多的是通过 Hexo + Github 来部署自己的博客:通过 Hexo 渲染静态文件,推送到 Github ,借助 Pages 服务来实现博客外部访问。国内的同学们有时候会遇到加载速度较慢的问题,因此我们需要选择一套更好的方案。

提供 Pages 服务的代码托管平台

国内外提供代码托管的平台非常多,其中提供 Pages 服务的主要有:

  1. Github 大名鼎鼎的全球同性交友平台
  2. Gitlab
  3. Gitee 开源中国旗下的码云
  4. Coding 现在升级为腾讯云代码托管平台

Gitlab 十分特别,它提供的 Pages 服务需要用户将构建命令以文件(.gitlab-ci.yml)的形式存储在云端,Gitlab 使用内建工具 GitLab CI/CD 生成静态文件并发布。也就是说,Gitlab 这个方案需要我们把 Hexo 博客整个工程托管在 Gitlab。该方法和其他方法差异较大,因此在下面的文章中,这种方案就不做介绍了。

多仓库部署

Hexo 允许用户同时将博客部署在多个仓库中,只需要在博客的 _config.yml 中配置:

/_config.yml

deploy:
type: git
repository:
github: https://github.com/Username/Username.github.io.git
gitee: https://gitee.com/Username/Username.git
coding: https://git.dev.tencent.com/Username/Username.git
branch: master

把几个代码托管平台的 Pages 服务设置好,每次只需执行一次 hexo d 就可以将静态页面同时部署在多个平台上。下面我们来一起对比一下这几个平台 Pages 服务的速度。

速度对比

首先将博客同时部署在 GithubGiteeCoding 上:

  1. https://susreal.github.io
  2. https://susreal.gitee.io
  3. https://susreal.coding.me

网络环境分别采用移动、联通和电信以及美国节点,通过 ping 域名的方式统计网络延迟:

取连续20条延迟的平均值(仅供参考):

- 移动 联通 电信 美国节点
Github 131ms 388ms 245ms 139ms
Gitee 22ms 92ms 97ms 59ms
Coding 97ms 62ms 584ms 927ms

可以看到,在移动、电信以及美国节点的网络下,Gitee 的访问速度都表现出了明显的优势。测试过程中,Coding 的服务器一度timeout,无法连接。从 Coding 官方的说明来看,由于 Pages 服务可以自定义绑定域名,为了实现“免备案”,Coding 把服务器架在了海外,这也可以解释为何 Coding 的访问速度以及访问稳定性稍显逊色。

自定义域名绑定

这三个代码托管平台都支持自定义域名绑定,我们可以在万网上购买域名,并解析到对应的平台上。首先,我们在 Hexo 工程的 source 目录下添加一个 CNAME 文件(没有后缀名),把购买的域名写在文件中:

/source/CNAME

susreal.com

Github

Github 在 仓库>Settings>GitHub Pages 中绑定域名:

然后在域名的解析中添加两条 CNAME 类型的解析即可:

Gitee

Gitee 的自定义域名需要开启 Gitee Pages Pro 服务,这里划重点,这个服务需要 99 元一年! 如果不开启的话,是无法绑定自定义域名的。我这里是先试用了一个月:

如果开启强制 https 访问的话需要自己配置域名证书,证书是免费的,有效期一年。

最后是同样的一步,在域名解析中添加 CNAME 类型的解析:

Coding

Coding 的绑定域名服务是全免费的,并且可以申请由 Let’s Encrypt 下发的免费SSL证书,有效期三个月:

总结

国内外这三个代码托管平台提供的 Pages 服务,从体验上来看都不错,可以帮助博主快速建站。从网络连接上来看,开源中国下的 Gitee 应该是表现最好的。如果需要绑定自己的域名,Gitee 需要额外支付每年 99 元的服务费,考虑到绑定自己的域名以及访问速度两个因素,我个人觉得还是值得的。

  0
# Hexo, Pages

评论

📧 邮箱: 留下邮箱,别人回复后会收到通知喔
😉 头像: 自动同步邮箱对应的「Gravatar」头像
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×