您的位置:首页 > 运维架构 > Linux

linux中的CDN内容分发网络

2018-12-04 20:12 162 查看

一.CDN的基本概念

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

二.部署CDN网络的正向代理

实验环境

真机:可以上网,从当路由器

虚拟机desktop:apache服务器,这里充当测试,火墙关闭

虚拟机server:可以上网,充当代理服务器,没有安装httpd服务,火墙关闭

1)虚拟机server

首先需要配置网络,配置如下

然后,安装软件

[code]yum install squid -y                         ##安装代理软件
vim /etc/squid/squid.conf
55 http_access allow all
62 cache dir ufs /var/spool/squid 100 16 256

最后重启squid服务

[code]systemctl restart squid

2)对于虚拟机desktop

打开火狐浏览器,点Edit==>Preferences

然后点network的setting

然后将代理改为server的ip,将端口改为3128

点击ok,测试

ok!

三.部署CDN网络的反向代理

1)server虚拟机

[code]vim /etc/squid/squid.conf      ##修改下列内容
60 http_port 80 vhost vport
61 cache_peer 172.25.254.155 parent 80 0 proxy-only
systemctl restart squid

2)真机

[code]vim /etc/hosts                                   ##将解析设置为156主机,不是apache主机
127.25.254.156 login.nelws.com www.nelws.com

然后在浏览器中测试,输入的是server的ip,显示的内容却是apache的内容,此时反向解析就宣告成功了

四.部署CDN网络的轮循代理

1)虚拟机server

[code]vim /etc/squid/squid.conf
http_port 80 vhost vport
cache_peer 172.25.254.155 parent 80 0 proxy-only name=web1 round-robin
cache_peer 172.25.254.105 parent 80 0 proxy-only name=web2 round-robin
cache_peer_domain web1 web2 www.nelws.com

然后重启squid服务

2)真机

在真机中输入www.nelws.com,第一次的时候显示的是主机172.25.254.155中的设置好的网页

刷新一次,即第二次,就会显示主机172.25.254.105中设置好的网页

这就是轮询机制,我们还可以设置权重,

[code]vim /etc/squid/squid.conf
http_port 80 vhost vport
cache_peer 172.25.254.155 parent 80 0 proxy-only name=web1 round-robin  weight=2
cache_peer 172.25.254.105 parent 80 0 proxy-only name=web2 round-robin
cache_peer_domain web1 web2 www.nelws.com

例如上代码段中的 weight=2 ,意思即显示155两次然后在显示105一次,一直这样循环下去~

具体关于CDN的作用,大家可行百度,附cdn的百度百科

https://baike.baidu.com/item/CDN/420951?fr=aladdin

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: