侧边栏壁纸
  • 累计撰写 113 篇文章
  • 累计创建 153 个标签
  • 累计收到 175 条评论
标签搜索

目 录CONTENT

文章目录

用Cloudfront加速网站,打开速度瞬间提升300倍

WENJIE
2023-04-19 / 0 评论 / 0 点赞 / 5,626 阅读 / 3,366 字 / 正在检测是否收录...
广告 推荐

什么是CDN

内容分发网络(CDN)是一个互连服务器网络,依靠数以万计的边缘服务器群和强大的数据吞吐量,可加快数据密集型应用程序的速度,包含但不限于你的手机应用,你的节点、你的网站等,但是本次,我们只讨论网站加速!

CDN的优势

****首先,CDN用肉眼可见的速度加快你网站的加载和打开速度:

我用一张图片来举例:

这是没有cdn的情况,三次wget速度如下:

image-1536x864.png.4        100%[==========================================>] 234.15K   221KB/s    in 1.1s  
image-1536x864.png.5        100%[==========================================>] 234.15K   368KB/s    in 0.6s   
image-1536x864.png.6        100%[==========================================>] 234.15K   273KB/s    in 0.9s

这个是已经使用了cdn的情况,四次wget速度如下:


image-1536x864.png          100%[==========================================>] 234.15K   402KB/s    in 0.6s 
image-1536x864.png.1        100%[==========================================>] 234.15K  --.-KB/s    in 0.009s 
image-1536x864.png.2        100%[==========================================>] 234.15K  --.-KB/s    in 0.003s
image-1536x864.png.3        100%[==========================================>] 234.15K  --.-KB/s    in 0.003s 

可见,一个图片文件本地打开时间从1秒减小到0.03秒,提高了300倍;

****降低带宽成本

一般情况下,购买服务器都有带宽和流量限制,带宽例如:峰值5M的,共享100M的,共享1G的;流量限制例如:500G/月,1T/月等;这些限制我们都可以用CDN来辅助解决,因为CDN 可以减少源服务器请求,从而降低网站托管成本。

****提高内容可用性,可实现无缝访问

CDN 服务可以处理更多 Web 流量并降低 Web 服务器的负载。此外,如果一台或多台 CDN 服务器离线,其他运营服务器可以替换它们,以确保服务不中断。

****再有就是提高网站安全性

对于DDoS攻击,CDN 可以通过在多个中间服务器之间分配负载来处理此类流量峰值,从而降低对源服务器的影响。

CDN的原理

cdn原理

简单来说,CDN 的主要是将原始服务器上的内容缓存到全球分布的边缘服务器上,当用户请求访问某个网站时,CDN会自动将请求定位到距离用户最近的边缘服务器,从而提高用户的访问速度和体验。

如果该边缘服务器上已经缓存了用户所请求的内容,则直接返回给用户。否则,边缘服务器会向原始服务器发起请求,并将结果缓存到自己的服务器上。

如果原始服务器上的内容发生了变化,CDN会在一定的时间内将更新通知到所有缓存了该内容的边缘服务器上。

CDN服务推荐

CDN既然有这么多优势,价格怎么样呢?

CDN厂家一般都是按下行流量计费方式,自然月累计阶梯计价。比方说,百度智能云CDN:

流量阶梯 折扣价(元/GB)
0GB-10TB(含) 0.20
10TB-50TB(含) 0.17
50TB-100TB(含) 0.14
100TB-1PB(含) 0.12
大于1PB 0.10

阿里云国际CDN全站加速,可以按照峰值带宽计费,也可以选择流量计费套餐:

流量阶梯(计费单位:元/GB) 中国内地-CN 北美-NA 欧洲-EU 亚太1区-AP1 亚太2区-AP2 亚太3区-AP3 中东、非洲-MEAA 南美-SA
0GB-10TB(含) 0.24 0.46 0.46 0.79 0.85 0.85 1.31 1.31
10TB-50TB(含) 0.23 0.46 0.46 0.79 0.85 0.85 1.31 1.31
50TB-100TB(含) 0.21 0.39 0.39 0.66 0.72 0.72 1.18 1.18
100TB-1PB(含) 0.18 0.20 0.20 0.52 0.66 0.62 0.98 0.92
大于1PB 0.15 0.16 0.16 0.46 0.59 0.59 0.92 0.85

到目前为止,我还真没见过个人博客超过流量1TB/月的情况,图片站视频站那肯定要超过了,价格自己算算,另外还有,阿里腾讯百度CDN国内加速必须备案,阿里有半年免费试用。

下面,就是今天的主角登场了:

AWS CloudFront CDN简介

Amazon CloudFront (CFT)使用了一个包含 450 多个接入点和 13 个区域边缘缓存的全球网络,该网络覆盖 48 个国家/地区的 90 多个城市。在中国的边缘节点包括:中国上海(1 个);中国深圳(1 个);中国中卫(1 个);中国北京(1 个);中国香港(4 个)完全可以用于国内站点;至于欧美那就更不用说了!

下图是CFT的边缘缓存、边缘节点地图:
Cloudfront-Map_9.24_2x.2eeac6e52bf404816c6d0aac3edbeb7b6b87fdaa

无论你在世界的哪里,CFT基本上保证1秒触及,让网站流畅到飞~比较知名的新闻站Reuters,上个视频介绍过的slack,流媒体hulu使用的就是CFT服务。

最重要的,CFT有1TB/月的流量而且永久免费,这对小站长来说是个大大的福利,我们只要付超出1T流量的费用即可,CFT的定价请参考:https://aws.amazon.com/cn/cloudfront/pricing/?nc=sn&loc=3

仔细算算,CFT基本上不用花钱的!

马上注册AWS

注册地址:https://aws.amazon.com/cn/free/
注册方法我以前也做过视频,详细讲解过,此处略!

CFT的设置

CloudFront设置非常简单,名词解释和设置方法可参考官方文档:https://aws.amazon.com/cn/blogs/china/configure-amazon-cloudfront-to-accelerate-the-whole-site/

如果对于静态站点,可直接在CFT后台直接创建分配,仅仅需要设置源域,价格级别,协议策略即可,其他保持默认即可创建成功;

动态网站,我来说说比较流行的Wordpress,有个更简单的方法就是使用插件。后台搜索WPAdmin AWS CDN,作者:WPAdmin,请不要自作主张,如果你直接搜索CDN插件错误安装了W3 Total Cache的话,价格$99/年,暂时用不到。

当你完成了WPAdmin AWS CDN的安装,已经有了AWS账号之后,到 IAM账户管理,添加IAM账户。当然,你在已经登陆的账户中创建反问密钥也可以,但是为了方便管理,我建议添加一个。

用户中,我们添加一个用户,名字随便,权限我们选择直接附加策略,勾选ccessAnalyzerServiceRolePolicy,然后下一步下一步就完成了。

接着,在新用户的安全凭证中,我们创建该用户的访问密钥,请保密存储;

注意:aws地区不同,后台版本不同,上面的步骤有些许不同,思路一样自己找找!

然后,我们到wp后台设置插件,输入密钥,开启CDN。

在这个插件新开启CDN时候,aws后台的cloudfront会自动创建一个分配,需要等待2-3分钟后可用,
当我们测试后,会显示 XXXX.cloudfront.net is Currently Active,说明开启完成了。

现在,插件会把你网站的css、js、jpg、png、视频等静态资源地址自动改成你的分配地址,CFT也会根据用户请求开始缓存你的资源,不久,你会发现网站打开速度飞了起来!

总结

Cloudfront CDN明显提升用户体验,减轻源服务器压力有奇效,这对于一个想要长期坚持做站的朋友是非常有帮助的,妈妈再也不用担心我的服务器太远了,因为我们有了CDN。

更多关于CFT的问题,可以加入我的交流群:t.me/iweec_com
vps购买参考:https://wenjie.org/categories/vps

0

评论区