Loading... # 什么是CDN 内容分发网络(CDN)是一个互连服务器网络,依靠数以万计的边缘服务器群和强大的数据吞吐量,可加快数据密集型应用程序的速度,包含但不限于你的手机应用,你的节点、你的网站等,但是本次,我们只讨论网站加速! # CDN的优势 **首先,CDN用肉眼可见的速度加快你网站的加载和打开速度:** 这是没有cdn的情况,三次wget速度如下: ```bash 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速度如下: ```bash 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原理.png](https://iweec.com/usr/uploads/2023/04/1995272284.png https://imgki.com/usr/uploads/2023/07/3497670483.png) 简单来说,CDN 的主要是将原始服务器上的内容缓存到全球分布的边缘服务器上,当用户请求访问某个网站时,CDN会自动将请求定位到 **距离用户最近的边缘服务器** ,从而提高用户的访问速度和体验。 如果该边缘服务器上已经缓存了用户所请求的内容,则直接返回给用户。否则,边缘服务器会向原始服务器发起请求,并将结果缓存到自己的服务器上。 如果原始服务器上的内容发生了变化,CDN会在一定的时间内将更新通知到所有缓存了该内容的边缘服务器上。 # AWS CloudFront CDN简介 Amazon CloudFront (CFT)使用了一个包含 450 多个接入点和 13 个区域边缘缓存的全球网络,该网络覆盖 48 个国家/地区的 90 多个城市。在中国的边缘节点包括:中国上海(1 个);中国深圳(1 个);中国中卫(1 个);中国北京(1 个);中国香港(4 个)完全可以用于国内站点;至于欧美那就更不用说了! 下图是CFT的边缘缓存、边缘节点地图: ![Cloudfront-Map_9.24_2x.2eeac6e52bf404816c6d0aac3edbeb7b6b87fdaa.png](https://iweec.com/usr/uploads/2023/04/1214103522.png https://imgki.com/usr/uploads/2023/07/1020704132.png) 无论你在世界的哪里,CFT基本上保证1秒触及,让网站流畅到飞~比较知名的新闻站Reuters,上个视频介绍过的slack,流媒体hulu使用的就是CFT服务。 最重要的,CFT有1TB/月的流量而且永久免费,这对小站长来说是个大大的福利,我们只要付超出1T流量的费用即可,CFT的定价请参考:[https://aws.amazon.com/cn/cloudfront/pricing/?nc=sn&loc=3](https://iweec.com/go/aHR0cHM6Ly9hd3MuYW1hem9uLmNvbS9jbi9jbG91ZGZyb250L3ByaWNpbmcvP25jPXNuJmxvYz0z) 仔细算算,CFT基本上不用花钱的! # 马上注册AWS 注册地址:[https://aws.amazon.com/cn/free/](https://iweec.com/go/aHR0cHM6Ly9hd3MuYW1hem9uLmNvbS9jbi9mcmVlLw==) 注册方法我以前也做过视频,详细讲解过,此处略! # CFT的设置 CloudFront设置非常简单,名词解释和设置方法可参考官方文档:[https://aws.amazon.com/cn/blogs/china/configure-amazon-cloudfront-to-accelerate-the-whole-site/](https://iweec.com/go/aHR0cHM6Ly9hd3MuYW1hem9uLmNvbS9jbi9ibG9ncy9jaGluYS9jb25maWd1cmUtYW1hem9uLWNsb3VkZnJvbnQtdG8tYWNjZWxlcmF0ZS10aGUtd2hvbGUtc2l0ZS8=) 如果对于静态站点,可直接在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。 Last modification:July 9, 2023 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏