CDN加速
自从有了第一次博客优化经验,我就越发对优化感兴趣了嘿嘿(✧∇✧)。
看着博客首页打开时长为1200ms左右,我又开始琢磨有什么办法能再给网站提提速,让访问时间降低到1000ms以下,这时候我想起前不久群里讨论过这个问题,我翻回去看见他们提到了CDN加速
。
CDN加速?好耳熟(ㅇㅅㅇ❀)…我之前也听过,不过概念还停留在就近获取网络资源上,今天就让我们一起学习一下什么是CDN,如何配置CDN加速。
CDN介绍
CDN是content delivery network或者是content distribution network的缩写,即内容分发网络。
CDN介绍起来很简单,原来也不复杂,说白了就是利用物理上的多台服务器,将用户需要的音乐、图片、视频、应用程序等资源分布式存储在全球各地,这样用户便可以高效、稳定的就近获取需要资源。
但是为什么需要CDN呢?
原因有两点:
其一互联网快速发展和网民的急速增多,导致原本宽裕的网络通道变得拥挤,一万个人同时使用一条网络通道和一亿人同时使用一条网络通道的体验显然是完全不一样的。
其二就是距离,试想一下如果我们要从美国那边请求一个资源,美国与中国之间的直线距离是11,160公里,而光速大概为30万公里/s,由此可以推算出一个请求和响应加起来需要74.4ms,看起来很少是不是,但这是最最理想的情况。需要从美国直接拉一条一万公里的光缆直通中国才能达到,想想就不现实,更何况还有网络拥堵、光缆速度达不到光速等诸多因素。
所以CDN出现了,用户不需要跨越上万公里去获取资源,只需要获取缓存在就近服务器上的资源就可以了,这样不仅避免了多人共用一条线路,也解决了超长距离的问题。
了解完CDN,我已经迫不及待开始实践了!
多吉云CDN加速
为什么选择多吉云的CDN加速呢?
好问题
因为当我准备去跟群里大佬一样白嫖百度CDN加速的时候。发现…从2023/05/05开始百度不再免费接入域名了(ノДT)。
于是我去网上找了一下,发现还有几个云服务商还提供每月免费额度的流量的CDN服务,本来我准备选择七牛云,毕竟在云服务这块还是蛮有名的,然鹅不支持https
,只支持http
,多方比对之下最后选择了多吉云。
多吉云注册后,每个月会有20G的免费流量,超过后就要收费了,并且支持https。
操作步骤
首先需要注册多吉云,然后进行实名认证,之后就可以绑定我们的域名进行CDN加速了。
一、绑定域名
首先我们需要对加速域名进行绑定:
加速域名就填写需要加速的域名,业务类型按照下面介绍选择,博客一类的网站选择网页小文件就可以,在源站IP中填入自己的服务器地址,协议根据自己网站选择,最后确认绑定。
二、验证域名所有权
输入域名和服务器IP确认绑定后,需要到服务器进行DNS验证域名所有权,我是阿里云服务器,所以去阿里云的域名解析里面添加规则:
三、加速域名测试
验证成功后等待部署创建加速域名:
等待五分钟左右刷新页面,就可以看到CDN加速域名CNAME
了,接下来就可以去阿里云修改DNS记录进行域名转发了。
但如果你的网站是已上线网站,为了保证现有业务稳定运行,建议先在本地通过 Hosts 文件绑定 CDN 节点 IP 进行访问测试。
本地测试
- 加速域名添加成功后,融合 CDN 控制台的域名管理页中的域名列表的 CNAME 列会给出域名的 CNAME 值,例如www.lemondu.top.s2-web.dogedns.com。
- 复制该 CNAME 值,打开你电脑上的终端(Windows 系统为 CMD),输入并运行指令:
ping www.lemondu.top.s2-web.dogedns.com
命令行中显示的 IP,即为 CDN 节点 IP。
- 将上一步获取到的节点 IP(61.170.72.248),通过修改本地 Hosts 文件,绑定到加速域名(www.lemondu.top)。 Hosts 文件:
- 保存后,在本地通过浏览器访问加速域名进行测试,如果符合预期,说明配置正确。
配置 CNAME
本地测试成功后,就可以正式将CNAME配置到域名解析中了,依旧是在域名解析中添加记录,记录类型选择CNAME,并且如果有同名的 A 类型(或 AAAA 类型)记录,添加时可能会提示冲突,你需要先删除对应的 A 记录或者将其暂停。
添加记录完成后,最后还需进行测试。要验证 CNAME 是否配置成功,可以使用命令行工具测试:
nslookup -qt=cname 加速域名
若是成功,则会返回如下图所示结果:
如果程序显示的 canonical name 和多吉云控制台提供的 CNAME 值一致,则表示你的加速域名已经成功配置 CNAME,加速生效了。
效果
最后我们测试一下加速后的效果:
入站速度成功降低到了1000ms以下,效果达成!
防患于未然
别走,还有最后一步!这步很重要,那就是给CDN进行限流,现在大部分的CDN提供商都是实行超过流量自动欠费的机制,虽然个人网站一般不会有那么大的流浪,但如果哪天你的网站一不小心被恶意攻击者临幸了,那极有可能造成较大的财产损失。
所以我们需要进行流量限制,一般服务商都会提供这个功能,但不会主动提醒你开启(很贼),免费流量为20G,我将流量限制在了月19G,当这个月使用流量超过19G的时候就会停用域名,那时候访问就会变成404了,另外还有一些一些小时间段的限流,按分钟或天计算,还有单个链接的限流等等,可以根据实际情况进行开启。
缓存策略
接入CDN之后,我发现每次加载的内容都是一样的,就算发布了新文章也还是会加载到刚接入CDN时的样子,CDN的本质是就近缓存。
是不是我缓存策略没设置好?
进入多吉云控制台一看,果然,默认设置的是缓存全部资源:
我们需要关闭原来的全部缓存,换为静态资源缓存,第三条就是自己添加的静态资源缓存。
重新部署生效后,问题解决!
标签:缓存,多吉,CDN,博客,域名,CNAME,优化,加速 From: https://blog.csdn.net/weixin_52093727/article/details/145023458