背景
我们在部署个人网站的时候,必然会面对以下几个问题。
为了让网站美观,我们需要加载一些的css和js文件,并且还可能会用一些体积较大的背景图,动图或者是一些视频;
在网站上发布文章的时候,基本上每篇文章都会插很多图片,尤其是技术类的文章,操作流程,实现效果都必不可少,而且图片量会很大。(需要CDN代运维可以找尊云网络)
然而这些东西,尤其是图片和视频,在 Web 服务器上不光占用大量带宽,有的时候带宽不够的时候,或者同时访问的人数非常多时候会加载不出来,会非常卡,特别影响用户体验。所以为了解决这个问题,最简单的办法就是购买 CDN加速服务,把静态资源通过 CDN 加速来提高访问速度,降低带宽负载,然而这个要花钱,用免费的呢又不太放心。
那么,有没有一个既免费又靠得住的方案呢?今天给大家推荐一个新的解决方案:Github + jsDelivr。
Github和jsDelivr
在介绍用处之前,先来介绍一下这两个平台。
Github
Github 是最受欢迎的、免费的、开源项目托管平台,对我们来说最大的优点就是代码仓库的创建数量不受限制,但是有容量的限制,第一仓库容量不能超过1G,第二上传文件大小不能超过100M,并且超过50M时,就会给出警告。
但是这些限制对我们来说几乎没有什么影响,因为我们主要就是来存储css和js文件和一些图片等,基本不会超过100M。
我们一个网站中用到的CSS和JS文件基本都不大,而图片虽然多一些,但除了背景图稍微大一点,大致几百K之外,其它大部分都是一些小插图,通常一个图片不会超过100K,往一个仓库里存个一两万张是没问题的,更何况,如果不够的话,还可以建更多仓库,毕竟Github不限制仓库数量。
jsDeliver
jsDelivr 是一个免费的开源 CDN平台,紧密集成了 Github 和 NPM,能自动为几乎所有开源项目提供可靠的 CDN 服务,且没有带宽限制,完全免费。
jsDelivr 在国内外290+的区域都有 高速CDN节点,访问速度非常快,可以保证在任何地方都延迟都很低。
最重要的是,jsDelivr 体量大,知名度高,它的可靠性没问题,而且不会突然打脸自己,不会说突然从某天开始收费。
使用方法
第一步,我们需要在 Github 上创建一个公开的仓库用来存放静态资源。
第二步,我们需要上传静态资源,可以通过浏览器直接上传,也可以借助客户端(如git等)工具把需要托管的静态资源提交到仓库中即可。
第三步,使用 jsDelivr 加速
加速方法很简单,我们只需通过
https://cdn.jsdelivr.net/gh/用户名/仓库名/文件路径 来引用资源文件即可
更新资源
CDN 本质上就是一个缓存系统,把我们仓库的文件暂时缓存再cdn服务器上,所以,当我们更新资源文件后,就必须要刷新缓存,才能让新文件生效。而且jsDelivr的缓存会在一段时间之后自动失效,但如果你想要立即使用新的资源,就需要手动更新缓存。
操作步骤很简单,只需要将上面的https://cdn.jsdelivr.net/替换成
https://purge.jsdelivr.net/,然后通过浏览器访问一下就可以了。