前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用CDN配合轻量应用服务器给网站加速

使用CDN配合轻量应用服务器给网站加速

原创
作者头像
4O4
修改2022-07-13 15:18:18
10.1K1
修改2022-07-13 15:18:18
举报
文章被收录于专栏:404

首先准备好轻量应用服务器、域名,将域名解析到服务器公网ip,如果使用境内服务器需要提前备案域名,否则解析会被阻断。

我的域名 48zhai.cn 已经通过备案,境内外服务器都可以用,这里我选了一台闲置的广州2核2G5M的轻量机器,为了节约时间我使用了宝塔镜像,并且安装wordpress作为CMS,详细过程不再赘述。

安装网站后在浏览器打开网站,通过浏览器的DevTools可以看到首页加载耗时13秒,这对任何网站来说都是致命的灾难,糟糕的用户体验很大程度上可能会造成大量用户的流失,同时也会给seo带来不利的影响,最终给网站造成不可估量的损失。

通过分析我们可以发现请求数量大都是js、css和图片文件,对比发现较大的文件往往是图片、视频等,少则几十上百k,大则几m十几m,如此数量的媒体文件给本不富裕的带宽雪上加霜。

那么如何解决这个问题呢?腾讯云CDN加速可以帮我们解决,通过CDN可以减少用户访问消耗带宽较大的文件对服务器造成的压力,同时CDN服务会将你网站的文件分发到全国各个节点缓存起来,供用户就近访问。

首先开通CDN服务,系统每个月会赠送10GB中国境内的流量包,对于流量不大的网站来说是完全够用的。

开通之后就需要添加加速域名了。域名配置这里我们选择中国境内,这样CDN加速才会对中国大陆地区生效。加速域名填写需要加速的域名,此处为 www.48zhai.cn ,这里需要注意的是 48zhai.cn 是主域名,www.48zhai.cn 是二级域名,是两个不同的域名,对于CDN来说就是两个不同的网站。

源站配置则是配置被加速对象的相关信息,此处我是自有网站就选择自有源,协议跟随服务器,地址填写服务器公网ip地址,回源host填写自己的域名。

其他配置我们暂时使用默认配置就行,保存配置后等待CDN生效,再次访问网站,通过devtools可以看到我们请求的域名所解析的ip地址已经不是服务器的公网ip地址了,这样就表示CDN已经生效了。

也可以在腾讯云控制台查询该ip是否是腾讯云CDN节点ip。

再次查看网站加载耗时仅为814毫秒,相对于第一次来说提升了15倍,几乎是质的飞跃。

配合良好的CDN设置可以最大限度利用CDN为我们提供良好的加速效果,下文中仅选择涉及安全以及对加速有效果的功能项,未提到的功能请自行配置。

访问控制:防盗链配置可以防止别人盗刷你的cdn流量,将域名和服务器ip添加进白名单,并且不允许空referer访问。

单IP访问限频可防御部分CC攻击,但也可能会影响网站访问,应该根据实际情况调整阙值。

缓存配置:

缓存可以进一步提高网站加载速度,在节点缓存过期配置中新增规则。

  • 文件类型-内容:“.jpg;.png;.jpeg;.gif;.bmp;.mp3;.mp4;.flv;.webp;.swf;.css;.js”,刷新时间:1天。
  • 文件类型-内容:“php;jsp;asp;aspx”,不缓存。因为php、jsp、asp、aspx都是动态文件,如果设置缓存的时间,会导致网站出错。
  • 对于html文件不建议缓存,在缓存有效期内修改了文件,可能会造成访问到的文件不是最新的,但是如果你的html内容相对比较固定并且长时间不会改动,也可以考虑开启,缓存时间自行评估。

可以通过刷新预热手动刷新指定内容的缓存。

HTTPS配置

  1. HTTPS建议开启,腾讯云可以直接申请免费证书。
  2. HTTP2.0建议开启,HTTP2支持TCP多路复用,减少网站加载时间。
  3. OCSP装订建议开启,显著提高了 TLS 握手效率,节省了用户验证时间。
  4. QUIC视经济情况决定是否开启(需要单独付费),QUIC能够保障网络安全性,减少传输和连接时的延时,避免网络拥塞,同时保障客户端访问 CDN 节点时数据传输的安全性,提升访问效率。

高级配置:

用量封顶配置可以预防DDOS类攻击造成流量异常扣费,根据配置关闭CDN服务或直接回源。

智能压缩可以让 CDN 在返回内容时会按照设定规则对资源进行 Gzip 、 Brotli 压缩,有效减少传输内容大小,节省开销。

除了正确配置CDN可以起到一定加速效果之外,我们也可以对应用进行优化起到加速的效果。由于我使用的环境是PHP,所以选择OPCache配合Mencached,两个插件都能牺牲一定内存换取访问速度,OPcache 用于加速代码访问,memcached 用于加速数据访问,它们功能不同,完全独立,我们在wordpress中安装并启用这两个插件。需要注意的是CDN和缓存插件都需要用户访问并命中后才能生成对应的缓存,这个时候才能起到加速的效果,实际操作中可以多刷新几次网站,通过浏览器控制台显示的数据可以判断缓存是否生效。

网站加载速度进一步降低到580毫秒,控制台大小列显示文件来自内存缓存。

另外,对于小带宽或者境外的服务器还可以使用google的bbr算法改善tcp拥堵情况。bbr在低内核版本的系统上需要手动开启,可以参考我的另一篇文章:CentOS7安装新版内核和开启BBR加速

好了,欢迎大家来我的网站 https://48zhai.cn/ 体验一下~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档