使用cdn加速Github Pages的访问速度

由于博客上的图片量和引用量增加,导致访问速度有所下降,所以打算优化一下博客的访问速度,当然是在有限资源的情况下来优化,主要是褥一下各大平台的羊毛。众所周知,Github Pages是部署在国外服务器上的,因此从国外访问速度还可以,但是国内访问速度较慢,所以主要是优化国内访问这方面。在有限资源的情况下,优化网站访问速度的常用方式有两种,一种是网页懒加载,动态加载技术,这种方法的思路是在加载网页时,先生成网页框架,再慢慢加载其它较为耗时的资源,动态加载则是在每次只加载显示在浏览器中的内容,而跳过之外的内容,这些方法都是在源码的层面上提升网页的速度,第二种就是cdn技术,这种技术是从网络路由上来提升网页的访问速度。以上两种技术中,个人更加青睐第二种,主要是基于以下几个理由:

  • cdn加载效果更好
  • 懒加载访问网页时可能会遇到某些关键内容一直加载中,体验也不是很好
  • cdn加速技术已经商业化,有很多的平台提供,而第一种技术必须要根据自己的网页来修改源码,实践更加麻烦
    当然值得一提的是,以上两种技术在使用上并不冲突,完全可以同时使用,我在实践中只试过第二种技术,所以下面将介绍以下第二种技术。

一、cdn技术简介

cdn是Content Delivery Network的缩写,全称是内容分发网络,其主要目的是为了解决网络拥塞问题,推荐一篇讲得比较好的文章:https://zhuanlan.zhihu.com/p/452543578,文中讲到了一个非常形象的例子:物流服务。为了保证物流效率,大部分电商平台在全国乃至世界各地都有自己的货物仓库,当用户下单后,电商平台会根据用户的地址选择最近的仓库发货,这样就能大大地提升物流效率,这样一种物流策略其实就对应着cdn中的路由策略,它利用多台服务器,将用户所需的资源分布式地储存在世界各地,这样不同地方的用户访问资源时,相应地从最近的服务器中来获取资源,能够较大地提升资源的访问速度和路由效率。

二、一些主流的提供cdn服务的平台

这些内容主要是参考网上相关文章整理的,简单介绍了一些主流的提供cdn服务的平台,一部分我也没有具体了解过,所以说法也不一定对,谨慎参考。

1. 阿里云

aliyun

2. 腾讯云

tencentyun

3. 七牛云

  • 网址:https://portal.qiniu.com/cdn/overview
  • 了解过
  • 每个月10GB免费国内流量和10GB的其它地区流量,动态加速5万次
  • 国内(包括全球)加速需要网站备案

qiniuyun

4. FreeCDN

freecdn

5. 又拍云

youpaiyun

6. Cloudflare

cloudflare

在选择cdn服务时遇到的一个很大的问题是:以上大部分针对国内加速的cdn服务都需要网站备案才能使用,但是由于我的Github Pages是托管在Github上的,在国外,所以无法备案,并且我暂时也没有将博客移植到国内的云服务器主机上的想法,因此最终选择了Cloudflare平台的cdn服务,没有选择国内其它的主流平台。最后,需要说明的一点是,由于使用cdn服务需要实名认证,因此考虑到个人信息安全,建议尽量选择主流的平台,防止个人信息泄露

三、在Cloudflare平台上开启cdn服务

1.注册账号

首先当然是注册一个账号,可以用邮箱注册,注册过程非常简单,这里不再说明。

2.添加网站

账号注册好后,进入控制台,点击"添加站点"加入需要使用cdn加速的站点,注意填入的站点域名不需要加入www.前缀,如下图,这里jun997.xyz是我自己的网站,已经配置完成了,而jun.com是随便选的一个示范网站,不是本人的。
c2

3.选择计划

完成以上步骤后,下一步选择计划,个人完全免费版本即可。
c3

4.DNS记录扫描

这一步是完全自动的,平台会自动扫描网站的DNS记录,完成后点击继续就可以。
c4

5.更改DNS服务器

完成第4步后,按照平台的提示,我们需要修改原来的DNS服务器,改为平台提供的DNS服务器,即hasslo.ns.cloudflare.commarjory.ns.cloudflare.com,如下图:
c5

一般在购买域名时平台会自动给我们分配相应DNS服务器,并且提供给我们修改的渠道,我的域名是在阿里云上购买的,登录阿里云控制台,在域名服务-域名列表-管理处可以修改域名,如下:
c5_2

点击修改DNS即可修改DNS服务器:
c5_3

在下面的方框中填入改为平台提供的DNS服务器,点击确定,然后回到平台,点击“完成,检查名称服务器”即可。
c5_4

6.配置DNS服务器的相关设置

以上完成后,最后就需要配置DNS服务器,主要是针对安全性和性能优化方面,根据需要自行设置,有些付费内容可以跳过:
c6

最后设置好了之后等待一定时间之后就会收到激活成功的邮件
c6_2

四、一篇关于cdn加速的参考文章

这篇文章给自己提供了很大的帮助,技术细节讲得很清楚,链接为:使用 CDN 加速你的 GitHub Pages 网站