Skip to main content
 首页 » 网络技术

云加速如何正确配置,解决越配置越慢问题。

2015年11月11日173

最近很多人在问我用的什么云加速,为什么他的用起来反而比以前还慢,现在很多网站开始用到了国内的免费CDN了,也就是云加速,比如百度云加速、360网站卫士、安全宝加速乐及云盾等等。前面我们说到的都是一些主流的云加速服务商,其实这里我们主要还是说一下静态网站设置云加速,动态网站也是要根据程序本身如设置,如果有那些地方没有明白可以到我博客留言咨询,写这篇文章非常感谢腾讯运维工程师张戈,非常感谢。

1.jpg

一、动静均缓存

360网站卫士等,我就不多说了,都可以非常简单的搞定这个事情,因为只需要直接勾上需要缓存的类型,比如一般都是让你勾选【html】 、【目录】、【首页】这3种类型,全部选上就可以了。静态网站尽量根据我下面的设置。


这里插播2条实用技巧:

①、缓存黑名单

全部选上后,整个网站不管前后台都会缓存,连后台都缓存了,那还怎么玩?所以,这些CDN肯定还会支持缓存黑名单,大部分是路径匹配的,比如360网站卫士就可以如下设置不缓存后台:

一般都是支持通配的,如果连通配都不支持,那也没必要使用了。

②、目录不缓存?

不知道有没有朋友遇到勾选了目录缓存之后,你的Wordpress网站的分类和单页面依然不会缓存,这是为什么?

其实问题在于WordPress的目录和单页面地址默认是不以斜杠/结尾的,不是一个标准的目录形式。而绝大部分CDN定义的目录是以斜杠结尾的!

加速乐设置也算是简单,不过他的加速规则会根据程序进行设置,所以大家注意看图。首先在高级设置里面选择你网站的程序。

然后进行设置后台黑名单和加速的目录文件,上面我们说到设置的时候要选择使用程序,程序给你一个默认的设置,然后你添加黑名单目录,简单设置缓存时间就可以。OK

 

百度云加速更新后取消了简单的勾选配置,其实对于我们来说真的说是福利了,作为首批先锋测试团成员,下面我就简单给大家设置一下!很多朋友解析到云加速后就放一边了,结果速度依然蜗牛,没有感受到飞的快感。

其实,新版百度云加速需要自己自定义规则来开启缓存!下面简单分享下动态网站在百度云加速下开启高速缓存的自定义规则,如图点击可进入设置(点击查看大图):

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

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


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

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条规则,这个就需要你们合理斟酌一下了,不要看我可以设置10条,我是百度云加速测试者,永久享用10条顶级以及很多功能。

优先级从上往下依次降低,所以我们要保证不缓存的规则写到最上面,才能不会缓存规则覆盖。

根据我个人经验,一般静态网站设置如下3条规则即可:

      ①、网站后台:xiangta.cc/admin/*   设置为不缓存或细致缓存 

②、前端分页:xiangta.cc/?page=*    设置为不缓存或细致缓存

         ③、网站前台:*xiangta.cc*    设置为前后通配都缓存缓存一般为1天或者12小时,20小时,根据自己更新速度设置缓存

 


Ps:细致缓存其实就是只缓存静态文件,其中缓存时间或有效期请自行设定即可,无需按图照办。另外由于新版百度云加速现在不能对单个域名设置了,所以最后的缓存规则是前后通配,保证某些网站的二级静态域名也缓存到位。另外,这只是我个人经验推荐的配置,比如评论分页就可以根据自己的需要设置为其他页面,此处分享仅供参考!

这样设置好了之后,网站前台刷几下就可以看到效果了,当然还可以F12到network里面去看header的缓存命中情况,这就不赘述了。注意本人网站是动态网站。


二、只缓存静态

动静都缓存可以解决国内低配VPS的2个尴尬:带宽和负载。带宽问题,国内普遍小水管就不用我多说了吧。负载问题则是动态网站一直以来的诟病,刷新快一点,CPU就满了。

但是,有一些网站,本地已有缓存或者访问流量并不高,他们不想开启全静态缓存,因为会带来的各种数据不刷新问题。因此,我们如何既解决速度问题,又兼顾实时数据呢?

当然,开启CDN不进行整站缓存设置的话,大部分CDN会默认缓存静态文件,基本满足以上需求。但是某些CDN有个坑爹的规则:他会和谐某些关键词,访问有这些关键词的页面就提示违规并不显示。

如何解决这个问题?很简单,通过域名做动静分离即可。

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

将静态链接替换为二级域名应该不用我多说了吧?

可以看看我的个人网站syaer.com,7i2.com,文件都是分离的。


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

如果担心暴露IP,如果是阿里云ECS,你还可以CNAME到阿里云的WAF上:

走CDN开启缓存和走CDN禁止缓存应该也不用我多说了,上文都有分享规则。

如上设置后,你的网站的速度也会很快,当然前提是你的动态部分不卡才行。如果网站还是比较卡,但是你有不想开启纯静态导致数据不刷新,那么

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

②、如果是虚拟主机,可以安装 DB Cache Reloaded Fix这类数据缓存插件

当然,如果你觉得还是不够快,那么心系与她一样,开启Nginx的fastcgi缓存!

在这里我推荐一下静态网站CDN服务商,又拍云价格便宜而且效果很明显,节点我就不多说了,自己ping一下就知道了


三、总结下区别

方案一 和 方案二 到底有什么区别呢?

方案一 是将动态和静态都强制缓存到CDN,这样就算本地不开启任何缓存,用户的访问速度也是杠杠的。如果想要给搜索引擎蜘蛛一样的速度,那么本地最好也开启一下静态缓存。

方案二 则是只缓存静态数据,动态数据依然请求到源服务器。这样做的好处是既解决了带宽尴尬,又解决了前台数据不能实时刷新的问题。因为,占带宽的主要是静态文件,而非html代码。我们将大体积的静态文件托管到CDN加速,源服务器就只要负担体积很小的html代码流量了,速度自然就快了!

当然,这样做很容易就出现了前文提到的开启CDN反而变慢的尴尬。。。解决办法也很简单,本地开启一下动态缓存即可。

我也帮不少站长做网站优化时,设置CDN遇到慢的问题,但是还是解决了,如果遇到慢就说一个云加速垃圾不好,那只能说明你没有认真的去设置,既然人家在用不慢,为什么你就慢了,自己反省反省吧,这毕竟是个简单的使用教程,正真的方案是要用到很多加速一起实现效果的!