Linux中的CDN(内容分发网络)设置

#######CDN########
什么是CDN:
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN特点:
1、本地Cache加速 提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性
2、镜像服务 消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。
3、远程加速 远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度
4、带宽优化 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。
5、集群抗攻击 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。

###squid*服务###
1. 之前的实验我们用的是desktop虚拟机,此时我们需要开另一台虚拟机server,加GATEWAY
网关172.25.254.250和DNS=114.114.114.114,使这台虚拟机可以上网,并且改主机名称为
squid.westos.com,接着搭建匹配的yum源,最后必须要关掉防火墙。
Linux中的CDN(内容分发网络)设置
Linux中的CDN(内容分发网络)设置
Linux中的CDN(内容分发网络)设置
2. yum install squid -y ##安装*软件包
Linux中的CDN(内容分发网络)设置
3. vim /etc/squid/squid.conf ##编辑配置文件
将56行改为 http_access allow all ##对于所有人服务端口都是开通的
将 64 cache_dir ufs /var/spool/squid 100 16 256这一行注释去掉
Linux中的CDN(内容分发网络)设置
Linux中的CDN(内容分发网络)设置
6.设置完后systemctl start squid开启squid服务后,会在/var/spool/squid目录下看到16个目录
Linux中的CDN(内容分发网络)设置
4.接着在server虚拟机打开火狐浏览器(注意:server虚拟机是不能上网的),接着点击preferences
在选择Advanced设置选项,点击Network网络设置,再点击settings,然后选择manual
proxy configurayion,最后在http proxy(http服务的代理)后写入server不能上网的主机的ip
,port端口写3128,点击OK后server主机就可以*访问外网了
Linux中的CDN(内容分发网络)设置
Linux中的CDN(内容分发网络)设置
Linux中的CDN(内容分发网络)设置
*其实就是当我们需要访问外网时,当然我们本身是不能访问的,此时我们需要一个中间服务器,这个中间服务器是可以访问外网的,当这个中间服务器下载*软件后,并同意我们可以通过他来访问外网,那么此时我们就可以通过这个中间服务器来访问外网了,这就是*原理
###CDN###
1.vim /etc/squid/squid.conf ##编辑配置文件,在相应行写入以下内容
59 http_port 80 vhost vport
60 cache_peer 172.25.254.245 parent 80 0 proxy-only
Linux中的CDN(内容分发网络)设置
proxy-only:只做代理.
<此内容意思是此台主机是作为172.25.254.245主机的代理,当用户通过阿帕奇访问我时,这时会显示245主机的默认访问的域名内容>
2. 在真机vim /etc/hosts将解析ip改为172.25.254.245(做代理的主机ip)
在浏览器访问172.25.254.145,此时显示的是245主机的默认域名内容
Linux中的CDN(内容分发网络)设置
Linux中的CDN(内容分发网络)设置
3.继续vim /etc/squid/squid.conf编辑配置文件,对应行添加以下内容
59 http_port 80 vhost vport
60 cache_peer 172.25.254.245 parent 80 0 proxy-only name=web1 round-robin
61 cache_peer 172.25.254.249 parent 80 0 proxy-only name=web2 round-robin
62 cache_peer_domain web1 web2 www.westos.com
Linux中的CDN(内容分发网络)设置
<proxy-only:只做代理 round-robin:轮循>
<此时145主机是245和249两台主机的代理,当用户访问172.25.254.145,首先会出现245主机的默认域名内容,当用户再次刷新时就会出现249主机的默认域名内容,访问页面是循环的>
4. 在真机测试,浏览器*问www.westos.com,会出现245主机的默认域名内容hello yangyang,
当刷新一次后内容会变成249主机默认域名内容hello world
Linux中的CDN(内容分发网络)设置
Linux中的CDN(内容分发网络)设置
5.vim /etc/squid/squid.conf ##编辑配置文件,当在之前的内容上加个weight=2,如图
Linux中的CDN(内容分发网络)设置
<意思是当用户访问145代理主机时,第二次刷新才会显示249主机默认域名内容,及就是三次一循环>