linux之CDN内容分发网络

​CDN

1.定义:

CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

​举一个例子:我们要访问腾讯的新闻网,那我们是直接去访问深圳总部的服务器么?当然不是,这样不仅服务器的负载接受不了,而且超远距离的传输速度也会受影响。所以一定不会是直接访问,它的机制跟邮件传输类似,但是却更加的方便快捷。

​深圳的总部有服务器发布信息,作为其他的地区也会有服务器同步总部的服务器。如果成千上万的用户访问总服务器的aoache端口的话,其实他们访问的是当地的服务器。这样做有两个好处:

​(1)当地的服务器访问腾讯的总服务器肯定比你个人电脑快;
​(2)你访问距离比较近的当地服务器也会比直接访问腾讯总服务器要快。

​这就是CDN的二次加速,大大的提高了我们的访问页面速度。下面我们就来自己实现一个上述的模型。


2.配置

正向代理

在这种情况下真机可以上网,虚拟机不可以上网,虚拟机可以通过真机代理来上网。

####在真机上安装squid

2.1允许访问任何网络
[[email protected] network-scripts]# yum install  squid -y
[[email protected] network-scripts]# vim /etc/squid/squid.conf

 linux之CDN内容分发网络
[[email protected] network-scripts]# systemctl restart squid
###在虚拟机上测试
在虚拟机上的浏览器上设置代理 Edit preference advance network setinng  端口3128

linux之CDN内容分发网络


2.2限制登陆某些网络

[[email protected] network-scripts]# vim /etc/squid/squid.conf
 linux之CDN内容分发网络
[[email protected] network-scripts]# systemctl restart squid
[[email protected] network-scripts]# cd /var/spool/squid     ####缓存的地方

###在虚拟机客户端测试

linux之CDN内容分发网络

linux之CDN内容分发网络

2.2反向代理

当真机取请求虚拟的网页服务时,虚拟机去向其他服务器去取。

###在虚拟机上配置,虚拟机上没有Apache服务。

[[email protected] network-scripts]# vim /etc/squid/squid.conf

linux之CDN内容分发网络

###在真机测试
linux之CDN内容分发网络

####反向代理squid轮叫机制#######
CDN加速可以加快服务速度
###配置
[[email protected] network-scripts]# vim /etc/squid/squid.conf
linux之CDN内容分发网络
linux之CDN内容分发网络

通过squid.conf配置文件中的cache_peer选项来配置代理服务器阵

列,通过其他的选项来控制选择代理伙伴的方法。Cache_peer的使用格式如下:

cache_peer hostname type http_port icp_port

共有5个选项可以配置:

1. hostname:指被请求的同级子代理服务器或父代理服务器。可以用主机名或ip地址表示;

2. type:指明hostname的类型,是同级子代理服务器还是父代理服务器,也即parent(父) 还是 sibling(子);

3. http_porthostname的监听端口;

4. icp_porthostname上的ICP监听端口,对于不支持ICP协议的可指定7

5. options:可以包含一个或多个关键字。

Options可能的关键字有:

1. proxy-only:指明从peer得到的数据在本地不进行缓存,缺省地,squid是要缓存这部分数据的;

2. weight=n:用于你有多个peer的情况,这时如果多于一个以上的peer拥有你请求的数据时,squid通过计算每个peerICP响应时间来 决定其weight的值,然后squid向其中拥有最大weightpeer发出ICP请求。也即weight值越大,其优先级越高。当然你也可以手工 指定其weight值;

3. no-query:不向该peer发送ICP请求。如果该peer不可用时,可以使用该选项;

4. Default:有点象路由表中的缺省路由,该peer将被用作最后的尝试手段。当你只有一个父代理服务器并且其不支持ICP协议时,可以使用default

no-query选项让所有请求都发送到该父代理服务器;

5login=user:password:当你的父代理服务器要求用户认证时可以使用该选项来进行认证。


测试  www.westos.com


linux之CDN内容分发网络linux之CDN内容分发网络