CDN是什么?什么是CDN服务器?如何搭建自己CDN服务器?
一、CDN概述
CDN的全称是Content Delivery Network,即内容分发网络。
CDN是在现有Internet基础上增加一层新的网络架构,通过部署边缘服务器,采用负载均衡、内容分发、调度等功能,使用户可以就近访问获取所需内容,从而解决网站拥塞情况,提高用户访问响应速度。

二、CDN加速
加速原理
CDN加速技术主要就是在用户和源站服务器之间增加镜像缓存层,将用户的访问请求引导至镜像缓存节点,而不是直接访问源站。
在CDN加速过程中,全局负载均衡DNS解析服务器会根据用户端源IP地址将用户的访问请求引导至距离用户路由最近、位置最近、负载最轻的缓存服务器上,从而实现最优匹配效果。

CDN网络架构主要由两大部分,分为中心和边缘两部分
- 中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房
- 边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。
每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器
- 负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
- 高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。
加速过程

假设通过CDN加速的域名为www.a.com,接入CDN网络,开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处理流程如下:
- 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。
- LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。
- 当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。
- 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
- LDNS获取DNS返回的解析IP地址。
- 用户获取解析IP地址。
- 用户向获取的IP地址发起对该资源的访问请求。
- 如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,例如,图中步骤7和8,请求结束。
- 如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,例如,图中的北京节点,并返回给用户,请求结束。
- CDN的加速资源是跟域名绑定的。
- 通过域名访问资源,首先是通过DNS分查找离用户最近的CDN节点(边缘服务器)的IP
- 通过IP访问实际资源时,如果CDN上并没有缓存资源,则会到源站请求资源,并缓存到CDN节点上,这样,用户下一次访问时,该CDN节点就会有对应资源的缓存了。
三、CDN加速作用
(1)通过节省骨干网带宽,减少带宽需求量;
(2)提供服务器端加速,解决服务器过载问题;
(3)为了实现跨运营商、跨地域的全网覆盖;
(4)可以克服网站分布不均衡的问题,降低网站自身建设;
(5)保障你的网站安全,避免网站遭到恶意攻击。
四、如何搭建自己CDN服务器
目前在免费CDN市场上,360因为“免费”而越做越大,加速乐做的很早。但因免费的节点不多,好多用户都被强走了。安全宝现在也还不错。目前国内的免费CDN市场已呈现三足鼎立趋势。
可为什么我还需要自己搭建CDN服务器来实现网站加速呢?原因有三
1.要用国内的CDN服务器域名都需要备案。
2.免费的CDN服务器的稳定性和加速效果都不是很行。
3.付费的CDN服务器一般都贵的要死,一些草根站长根本用不起。
(一)、CDN服务器搭建前准备(本文以LuManager来搭建CDN服务器)
1.找一个国内访问速度快的服务器来安装LuManager控制面板。例如你在郑州,你可以选择郑州服务器。
2.LuManager控制面板支持Nginx、Tengine、Apache,自带了CDN缓存加速,设置简单,功能强大。
3、经过部落测试,LuManager CDN会自动为加速网站生成镜像缓存,用户访问将不再是源网站,而是CDN加速节点,对于静态文件加速效果最好。
(二)、LuManager CDN缓存加速创建教程
1、登录LuManager后台控制面板,点击“添加网站”输入你想要绑定的域名。

2、然后点击“选填”选项,在创建特殊网站中选择“CDN网站加速”,填入你的源网站域名和源网站的IP地址。(点击放大)

3、在下方选择“开启CDN普通缓存”,CDN缓存文件类型默认值:
html|htm|shtml|shtm|gif|jpg|jpeg|png|bmp|swf|js|css|mp3|mav|doc|dot|xls|pdf|txt|zip|rar|gz|tgz|bz2|tgz|rm|rmvb|ico
4、多个用半角|分隔,如jpg|png|gif等,请不要缓存php|asp|jsp|cgi|aspx等动态网页的内容,留空则使用默认值。
5、文件类型可以用正则进行匹配,如要匹配discuz的附件,可以用php.mod=attachment(由于php?mod=attachment中的?在正则中是特殊符号,需用.代替)(点击放大)

6、设置好就可以到网站管理中看到网站CDN加速已经创建成功了。

(三)、设置DNS域名解析启用CDN缓存加速访问
1、到域名的DNS管理处,将不同网络的用户设置访问到不同的CDN加速节点上,例如国外和国内用户区分,电信和联通用户区分,还有搜索引擎区分。

2、对于正在使用美国主机的朋友,让用户直接访问国内的CDN缓存加速服务器上,将在很大程度上提升网页的加载速度。这是我将我的Godaddy主机设置到国内的CDN机房中。

(四)、LuManager CDN加速访问效果
1、从Ping值来看,设置LuManager CDN过后的网站用户访问不再是源站,而CDN节点上。

2、用站长测速工具,用了国内CDN加速的网页加载速度比没有用的提高了一倍。(点击放大)

3、查看LuManager CDN的网站文件管理,发现LuManager CDN已经自动在服务器为源站生成了镜像,CSS、JS、图片、Html等静态文件都已经组成成功。 (点击放大)

(五)、LuManager CDN高级缓存模式和删除缓存内容
1、如果要开启LuManager CDN高级缓存模式,请在创建CDN加速网站时选择该项。

2、高级缓存可以自由选择网站的索引文件(默认首页),缓存文件在节点服务器上是“乱放”并加密过的,而且经常访问的文件会使用内存缓存,速度飞快。 建议对文件保密性和访问速度要求较高,并且内存充裕的用户选择此方式。

3、要想删除LuManager CDN缓存内容,可以先设置一个密码,也可以不设置。

4、例如部落要删除缓存文件,直接访问该网址:http://10.204.164.9:8888/index.php?m=Public&a=cache_delete&id=2&hash=哈稀值&file=文件名
5、哈稀值的算法:密码的md5值,即md5(password)。如果密码留空,则无需验证密码也可以删除(省略hash参数)
6、文件名:文件名相对网站根目录,以/开头,如要删除网站根目录下的mydir/file文件, 用/mydir/file便可(我们建议将文件名用urlencode进行编码)。如果是“文件+内存”模式,文件名为/lum_high_cache
常见问题解答
Q1:自己搭建CDN比用云CDN便宜吗?
初期成本低,但当用户覆盖多地区时,云服务更划算(省去多地部署服务器的成本)
Q2:为什么配置后网站图片还是不显示?
按步骤检查:
域名解析是否指向CDN服务器
Nginx配置中 proxy_pass 地址是否正确
服务器防火墙是否开放80端口
Q3:如何防止CDN服务器被攻击?
基础防护三步走:
启用免费SSL证书(Let’s Encrypt)
配置基础防火墙:sudo ufw enable
禁用SSH密码登录(改用密钥验证)
以上就是CDN是什么?什么是CDN服务器?如何搭建自己CDN服务器?的详细内容,更多相关资料请阅读主机测评网其它文章!
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/yunwei/8851.html
