如何正确配置CDN高速缓存,避免越用越慢的尴尬 | 张戈博客

  • 时间:
  • 浏览:26

可不可以 的博客网站后来 开始用到了国内的免费CDN了,比如百度云加速、3100网站卫士、加速乐及云盾等等。前一天我也写文章分享过国内低配置VPS的优化方案,其中提到了全都站长开启CDN加速后反而更慢的问題。

文章是曾经描述的:

动态网页会越用越慢

很纳闷吧?但事实的确是曾经!因此 人好难弄清楚哪些地方地方CDN加速的原理:当用户请求因此 人网页时,请求会发到CDN节点上,将会是动态数据,那末CDN节点将回源站拉数据,返回给用户!也假若说数据是经过了多次转发,加进CDN节点和源站的延迟,肯定是效果不明显,因此更慢!

这就好难解释,三个 劲有人抱怨百度云加速越用越慢,而有人假若更慢了。区别假若,快的人开启了云加速的整站缓存,而慢的人假若弄了三个 CDN代理转发而已。

没错,将会假若开启CDN,而不合理的设置缓存,就会越用越慢。

下面让人分享2种CDN下的配置方案。

一、动静均缓存

这也是张戈博客前一天用到的方案,网站前台不管是静态还是动态,我全都缓存到CDN。那速率单位单位 绝对可不可以 飞起来。

老版百度云加速以及3100网站卫士等,都可不可以 非常简单的搞定类事事情,将会只不能 直接勾上不能 缓存的类型,比如一般全是 让人勾选【html】 、【目录】、【首页】这3种类型,全部选上就可不可以 了。

这里插播2条实用技巧:

①、缓存黑名单

全部选上后,整个网站不管前后台全是缓存,连后台都缓存了,那还如保会会玩?全都,哪些地方地方CDN肯定全是支持缓存黑名单,大每段是路径匹配的,比如3100网站卫士就可不可以 如下设置不缓存后台:

一般全是 支持通配的,将会连通配全是 支持,那也没必要使用了。

②、目录不缓存?

别问我有没都全是因此 人遇到勾选了目录缓存前一天,你的Wordpress网站的分类和单页面依后来 能 缓存,这是为哪些地方?

人太好 问題在于WordPress的目录和单页面地址默认是不以斜杠/结尾的,全是 三个 标准的目录形式。而绝大每段CDN定义的目录是以斜杠结尾的!

有三个 法子来补救类事问題:

  1. 将会CDN指在缓存白名单,那末可不可以 设置强制缓存(略麻烦)
  2. 让WordPress的分类目录和单页面以斜杠结尾即可==>全部教程

那末,问題来了。新版百度云加速将会撤回了类事简单的勾选配置!全都因此 人解析到云加速后就放一边了,结果速率单位单位 依然蜗牛,那末感受到飞的快感。

人太好 ,新版百度云加速不能 被委托人自定义规则来开启缓存!下面简单分享下WordPress在百度云加速下开启高速缓存的自定义规则,如图点击可进入设置:

同样的,根据前面的黑白名单规则,因此 人先定个调,一般网站应该是曾经的情况报告:前台都缓存、后台不缓存、个别页面要缓存或不缓存。

先看下百度云加速自定义规则的说明:

规则自定义指对“指定URL”进行页面级规则定制(支持通配符*)。可对任意子域名、目录、甚至单个URL进行针对性的加速缓存、安全防护等配置。列表中上下关系决定优先级,靠上规则优先级高。站长可不可以 通过点击“↑”调整优先级。新增规则优先级最低,将于100s内生效。

URL指定支持通配符*,类事

1) 对img.yoursite.com进行特定设置,需增加URL: img.yoursite.com/*

2) 对www.yoursite.com/news/ 进行特定设置,需增加URL: www.yoursite.com/news/*

3) 对www.yoursite.com所有html页面进行特定设置,需增加URL: www.yoursite.com/*.html

支持通配,这就简单了!不过免费版只支持3条规则,类事就不能 因此 人合理斟酌一下了。

优先级从上往下依次降低,全都因此 人要保证不缓存的规则写到最中间,不可不可以能 缓存规则覆盖。

根据我被委托人经验,一般WordPress网站设置如下3条规则即可:

①、网站后台:zhang.ge/wp-admin/*   设置为不缓存或细致缓存

②、评论分页:zhang.ge/*/comment-page-*    设置为不缓存或细致缓存

③、网站前台:*zhang.ge*    设置为前后通配都缓存

Ps:细致缓存人太好 假若只缓存静态文件,其中缓存时间或有效期请自行设定即可,可不可以 按图照办。另外将会新版百度云加速现在那末对单个域名设置了,全都最后的缓存规则是前后通配,保证因此 网站的二级静态域名也缓存到位。另外,这假若我被委托人经验推荐的配置,比如评论分页就可不可以 根据被委托人的不能 设置为因此 页面,此处分享仅供参考!

曾经设置好了前一天,网站前台刷几下就可不可以 看完效果了,当然还可不可以 F12到network中间去看header的缓存命中情况报告,这就不赘述了。

二、只缓存静态

动静都缓存可不可以 补救国内低配VPS的三个 尴尬:速率单位单位 和负载。速率单位单位 问題,国内普遍小水管就可不可以 我多说了吧。负载问題则是WordPress三个 劲以来的诟病,刷新快因此 ,CPU就满了。

因此,有因此 网站,本地已有缓存将会访问流量可不可以 高,因此 人我想要 开启全静态缓存,将会会带来的各种数据不刷新问題。因此,因此 人如保既补救速率单位单位 问題,又兼顾实时数据呢?

当然,开启CDN不进行整站缓存设置一句话,大每段CDN会默认缓存静态文件,基本满足以上需求。因此因此 CDN有个坑爹的规则:他会和谐因此 关键词,访问哪些地方地方地方关键词的页面就提示违规可不可以 显示。

如保补救类事问題?很简单,通过域名做动静分离即可。

将静态链接替换为二级域名,并开启CDN缓存。主域名则不走CDN或走CDN但不开启缓存。

将静态链接替换为二级域名应该可不可以 我多说了吧?可不可以 的看一下张戈博客前一天分享的七牛CDN代码版即可==>传送门

主域名不走CDN也很简单,直接在解析时不开启缓存即可,也假若直接回源:

将会担心暴露IP,将会是阿里云ECS,你还可不可以 CNAME到阿里云的WAF上(这也是张戈博客目前的做法):

走CDN开启缓存和走CDN禁止缓存应该假若用我多说了,上文全是 分享规则。

如上设置后,你的网站的速率单位单位 也会更慢,当然前提全是你的动态每段不卡才行。将会网站还是比较卡,但全是你有我想要 开启纯静态原困数据不刷新,那末

①、将会是独立主机,可不可以 考虑开启redis或opcache等php动态缓存

②、将会是虚拟主机,可不可以 安装 DB Cache Reloaded Fix类事数据缓存插件

当然,将会你人太好 还是指在问题快,那末推荐和张戈博客一样,开启Nginx的fastcgi缓存!

三、总结下区别

方案一 和 方案二 到底哪些地方地方区别呢?

方案一 是将动态和静态都强制缓存到CDN,曾经就算本地不开启任何缓存,用户的访问速率单位单位 也是杠杠的。将会我想要 给搜索引擎蜘蛛一样的速率单位单位 ,那末本地最好也开启一下静态缓存。

方案二 则是只缓存静态数据,动态数据依然请求到源服务器。曾经做的好处是既补救了速率单位单位 尴尬,又补救了前台数据那末实时刷新的问題。将会,占速率单位单位 的主假若静态文件,而非html代码。因此 人将大体积的静态文件托管到CDN加速,源服务器就假若负担体积很小的html代码流量了,速率单位单位 自然就快了!

当然,曾经做很容易就老出了前文提到的开启CDN反问更慢的尴尬。。。补救法子也很简单,本地开启一下动态缓存即可。

张戈在帮不少站长做网站优化时,设置过百度云加速,发现大每段站长全是 会设置,因此还对也许如保会会你弄过前一天就飞起来了,我当初使用云加速就卡出翔?人太好 假若可不可以 设置而已!全都,今天我分享出来,弱弱的为CDN正名,哪些地方地方用过前一天骂CDN垃圾越用越慢的人,先被委托人好好反省一下吧!

好了,本文罗里吧嗦说了一大堆,有需求的自然会豁然开朗,没需求的就会如同嚼蜡了。我敢说,将会你看懂了哪些地方地方设置技巧,那末使用任何CDN全是信手拈来,轻松应付!

总之一句话,张戈写文章的期望不高,希望对有需求的人有所帮助就好。