利用CDN内容分发网络加速Github的个人博客

0x01 简述背景

  • 在自己大三时,腾讯云搞活动,学生资格可以每月一元购买1C1G的50G存储的云主机,当时自己就买了一台,用到了现在。
  • 当时感觉从事IT的好像都写博客,自己不是太喜欢写东西,但还是感觉有点意思,便跟着网上的教程,利用WordPress,买了域名搭建了最初的博客。
  • 当时完全处于好奇,也没什么价值,更像是一种自娱自乐。后来自己学习Python的Web开发,就前端使用semantic ui构建,后端使用Django搭建,自己一点点写成了自己想要的样子。
  • 使用自己写的代码替代了WordPress,感觉还挺有成就感的。但真的好简单,哈哈。
  • 现在自己毕业了,云主机也就不能再继续续费使用了,每月65的费用还是有点不菲呀,便可以试着使用Hexo来构建静态博客,放在Github上。然后觉得还真不错,真的很适合搭建自己的博客。Github Pages的介绍
  • 而且现在Github的个人主页的仓库还可绑定一个域名,比如之前只能通过userbame.github.io访问,现在可以绑定一个域名,通过域名访问,这简直是为想我这样的人量身定做呀。
  • 关于怎么使用Hexo搭建静态博客和绑定域名可以参考我的另一篇文章,还是非常简单的。
  • 但这种方式也有弊端,大家平时访问Github时就可以感觉到网站响应有点慢,这是因为Github服务器位于国外的原因,我们访问起来就可慢,同样的我们的Github的博客也会响应非常慢,
  • 特别是有大量的图片,视频等资源时特别明显,当别人访问我们的域名时,体验感就会很差,自己常常都会有点难以接受。
  • 但Github Pages毕竟是免费的东西,初衷只是为了让个人或者组织,项目有一个专属页面,通过这个页面大家可以快速了解仓库所属者,组织,项目等,因此我们还是要非常感谢Github的。
  • 如果是生产环境或者动态网站,我们可能会分析影响响应速度,用户体验的原因,进而解决。静态网站就简单的多了,跟网络和静态文件大小有关系。
  • 因此没有比使用CDN更好的方法了,而且CDN的费用不高,按量收费。CDN的有点大致如下:
1、本地Cache加速:提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性。 
2、镜像服务:消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。
3、远程加速:远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度。 
4、带宽优化:自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。
5、集群抗攻击:广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。
# 来自百度百科
  • 所以我们可以使用CDN内容分发网络来以我们的Github上的Pages作为源,当其他人访问我们的域名时,会首先由离访问者最近的CDN节点返回内容,同时CDN网络也会按照设置的时间周期同步Github上的源来更新自己的缓存。
  • 此次以腾讯云上的域名解析,SSL证书,CDN内容分发网络来简述下大致的操作,不同的云服务厂商可能会略有差别,比如:七牛云,阿里云等,但应该大同小异,大部分类似。

0x02 申请域名,申请免费的SSL证书

  • 域名这个哪里都可以买得到,一般你使用什么云,就在哪买就好了,会方便很多,自己喜欢什么样的一串字符或者有意义的单词都可以作为域名,也可以是数字或者组合。
  • 你拥有一个域名后,一般都可免费申请一个对应的SSL证书,使用该证书可以使用更加安全的https协议,但貌似也没有什么用。参考如下:

  • 一般情况下,我们可以通过CNAME的方式把一个域名指向另一个域名,比如把我们购买的域名指向Github的域名,Github Pages绑定域名也是这种原理。
  • 有了域名和证书后,下面就可以配置CDN网络了。

0x03 配置CDN加速网络

  • 首先打开腾讯的CDN内容分发网络,第一次的话会让你开通CDN,一路同意,并选择按流量计费就可以了,一般都会送你好多G的新手流量包。
  • 接着在域名在左边栏的域名管理中可以添加域名,然后按照自己的域名填写即可,参考如下:
  • 域名就是我们想要加速的域名,比如 www.skyne.cn, 源站设置为你的Github主页的地址如:skyne0.github.io,下面还要配置缓存周期设置。
  • 接着业务类型是默认的静态加速,我是设置的5天的时间周期,因为自己很懒,博客更新很慢,这个根据自己的情况即可,文件类型填写自己的都有什么类型的文件后缀即可。
  • 然后提交,提交后CDN网络部署需要点时间,可以先前往域名解析处配置一下CNAME记录。返回域名管理,可以看到正在部署的域名,然后点进去,可以看到域名信息和CNAME信息。
  • 把CNAME记录复制一下,然后点击控制台的总览,选择云解析,可以看到自己的域名,然后点进去,既可以管理各种类型的主机记录了,找到www或者新建www的主机记录,主机类型为CNAME。
  • 记录值就是刚刚复制的CDN的CNAME的值,然后保存即可,至此域名解析就做好了。
  • 还回到CDN的域名管理处,选择域名点进去,然后在最后面的高级配置处可以找到HTTPS配置,然后增加一个证书,并绑定自己的申请的SSL证书即可。
  • 这个可以配置也可以不配置,属于可选项,但感觉就算是跟一下潮流吧。
  • 所有都配置完成后,便大工告成了,你可以尝试着访问自己的域名,看有没有成功。
  • 你在CDN的概览页面还可以看到自己的域名被请求的数据统计情况,十分方便也易于理解。
  • 如果你的博客还不错,浏览量很大,新手套餐不够用的话,也可以再购买CDN流量也是非常的便宜。

 上一篇
蓝鲸ElasticSearch三节点集群水平扩容至九节点 蓝鲸ElasticSearch三节点集群水平扩容至九节点
本文主要讲述下,蓝鲸ES集群如何进行水平扩容,主要分以下几个方面。 前言 ES常用API 大致扩容方案 前期准备工作 安装ES节点,修改配置文件 新节点加入集群 ES集群数据迁移 参考命令,脚本 0x00. 前言1. 此次
2019-08-24
下一篇 
Win10家庭版安装使用Docker Win10家庭版安装使用Docker
0x00 前言 为什么要在Windows平台下使用Docker呢,主要是在配置一些基础运行环境时比较费劲。 比如想使用Redis,MySQL,MongoDB等的开发环境时,自己要本机手动安装这些服务组件。 安装配置也比较费时,所以便想要使用
2019-07-23