使用cdn加速Github Pages的访问速度
由于博客上的图片量和引用量增加,导致访问速度有所下降,所以打算优化一下博客的访问速度,当然是在有限资源的情况下来优化,主要是褥一下各大平台的羊毛。众所周知,Github Pages是部署在国外服务器上的,因此从国外访问速度还可以,但是国内访问速度较慢,所以主要是优化国内访问这方面。在有限资源的情况下,优化网站访问速度的常用方式有两种,一种是网页懒加载,动态加载技术,这种方法的思路是在加载网页时,先生成网页框架,再慢慢加载其它较为耗时的资源,动态加载则是在每次只加载显示在浏览器中的内容,而跳过之外的内容,这些方法都是在源码的层面上提升网页的速度,第二种就是cdn技术,这种技术是从网络路由上来提升网页的访问速度。以上两种技术中,个人更加青睐第二种,主要是基于以下几个理由:
- cdn加载效果更好
- 懒加载访问网页时可能会遇到某些关键内容一直加载中,体验也不是很好
- cdn加速技术已经商业化,有很多的平台提供,而第一种技术必须要根据自己的网页来修改源码,实践更加麻烦
当然值得一提的是,以上两种技术在使用上并不冲突,完全可以同时使用,我在实践中只试过第二种技术,所以下面将介绍以下第二种技术。
一、cdn技术简介
cdn是Content Delivery Network的缩写,全称是内容分发网络,其主要目的是为了解决网络拥塞问题,推荐一篇讲得比较好的文章:https://zhuanlan.zhihu.com/p/452543578,文中讲到了一个非常形象的例子:物流服务。为了保证物流效率,大部分电商平台在全国乃至世界各地都有自己的货物仓库,当用户下单后,电商平台会根据用户的地址选择最近的仓库发货,这样就能大大地提升物流效率,这样一种物流策略其实就对应着cdn中的路由策略,它利用多台服务器,将用户所需的资源分布式地储存在世界各地,这样不同地方的用户访问资源时,相应地从最近的服务器中来获取资源,能够较大地提升资源的访问速度和路由效率。
二、一些主流的提供cdn服务的平台
这些内容主要是参考网上相关文章整理的,简单介绍了一些主流的提供cdn服务的平台,一部分我也没有具体了解过,所以说法也不一定对,谨慎参考。
1. 阿里云
- 网址:https://common-buy.aliyun.com/?commodityCode=cdn#/open
- 了解过
- 没有免费流量
- 国内(包括全球)加速需要网站备案
2. 腾讯云
- 网址:https://console.cloud.tencent.com/cdn
- 了解过
- 每个月有10GB的国内免费流量
- 国内(包括全球)加速需要网站备案
3. 七牛云
- 网址:https://portal.qiniu.com/cdn/overview
- 了解过
- 每个月10GB免费国内流量和10GB的其它地区流量,动态加速5万次
- 国内(包括全球)加速需要网站备案
4. FreeCDN
- 网址:http://www.freecdn.pw/
- 没试过
- 完全免费,并且提供网络防御
5. 又拍云
- 网址:https://www.upyun.com/products/cdn
- 没试过
- 可以申请加入又拍云联盟,每月免费获取10GB的存储空间和15GB流量
- 国内(包括全球)加速需要网站备案
6. Cloudflare
- 网址:https://www.cloudflare.com/zh-cn/
- 正在使用
- 个人服务完全免费,附加服务收费
- 全球加速不需要网站备案
在选择cdn服务时遇到的一个很大的问题是:以上大部分针对国内加速的cdn服务都需要网站备案才能使用,但是由于我的Github Pages是托管在Github上的,在国外,所以无法备案,并且我暂时也没有将博客移植到国内的云服务器主机上的想法,因此最终选择了Cloudflare平台的cdn服务,没有选择国内其它的主流平台。最后,需要说明的一点是,由于使用cdn服务需要实名认证,因此考虑到个人信息安全,建议尽量选择主流的平台,防止个人信息泄露。
三、在Cloudflare平台上开启cdn服务
1.注册账号
首先当然是注册一个账号,可以用邮箱注册,注册过程非常简单,这里不再说明。
2.添加网站
账号注册好后,进入控制台,点击"添加站点"加入需要使用cdn加速的站点,注意填入的站点域名不需要加入www.前缀,如下图,这里jun997.xyz是我自己的网站,已经配置完成了,而jun.com是随便选的一个示范网站,不是本人的。
3.选择计划
完成以上步骤后,下一步选择计划,个人完全免费版本即可。
4.DNS记录扫描
这一步是完全自动的,平台会自动扫描网站的DNS记录,完成后点击继续就可以。
5.更改DNS服务器
完成第4步后,按照平台的提示,我们需要修改原来的DNS服务器,改为平台提供的DNS服务器,即
一般在购买域名时平台会自动给我们分配相应DNS服务器,并且提供给我们修改的渠道,我的域名是在阿里云上购买的,登录阿里云控制台,在域名服务-域名列表-管理处可以修改域名,如下:
点击修改DNS即可修改DNS服务器:
在下面的方框中填入改为平台提供的DNS服务器,点击确定,然后回到平台,点击“完成,检查名称服务器”即可。
6.配置DNS服务器的相关设置
以上完成后,最后就需要配置DNS服务器,主要是针对安全性和性能优化方面,根据需要自行设置,有些付费内容可以跳过:
最后设置好了之后等待一定时间之后就会收到激活成功的邮件
四、一篇关于cdn加速的参考文章
这篇文章给自己提供了很大的帮助,技术细节讲得很清楚,链接为:使用 CDN 加速你的 GitHub Pages 网站