1. CDN的介绍
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN网络中包含的功能实体包括内容缓存设备、内容交换机、内容路由器、CDN内容管理系统等组成。内容服务基于缓存服务器,也称作代理缓存。包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件。
2. CDN的实现
实验环境:
在servera作为CDN
在所有试验机中需要关闭火墙,selinux,NetworkManager 避免影响
[root@serverc ~]# systemctl stop NetworkManager
[root@serverc ~]# systemctl disable NetworkManager
[root@serverc ~]# systemctl stop firewalld.service
[root@serverc ~]# systemctl disable firewalld.service
[root@serverc ~]# vim /etc/sysconfig/selinux ##关闭selinux
在serverb上作为CDN转交请求的对象
安装httpd
在serverc上作为CDN转交请求的对象
安装httpd
在rhel7主机充当用户访问
2.1 varnish的安装
Varnish是一款高性能的开源HTTP加速器
2.2 使系统与varnish匹配
1.修改varnish的启动脚本中的端口号
vim /usr/lib/systemd/system/varnish.service
2.检查系统允许的最大文件数和内存
注意:检查系统允许打开的最大文件数和内存需要大于varnish中允许端最大文件数。
sysctl -a | grep file
如果系统允许的最大文件数少于varnish中的最大文件数可以通过给系统增加内存的方式。
ulimit -a
3.使系统允许varnish需要的运行内存和最大文件数
vim /etc/security/limits.conf
4.varnish的启动
systemctl start varnish
启动varnish
netstat -ntlp
检查端口是否打开
2.3 varnish的配置文件
varnish的配置文件——/etc/varnish/default.vcl
[root@servera ~]# rpm -qa | grep vanish
[root@servera ~]# rpm -qa | grep varnish
varnish-6.4.0-1.el7.x86_64
[root@servera ~]# rpm -qc varnish-6.4.0-1.el7.x86_64
/etc/ld.so.conf.d/varnish-x86_64.conf
/etc/logrotate.d/varnish
/etc/varnish/default.vcl
2.4 varnish的命令行管理
varnishadm
3.CDN的功能
3.1实现CDN的反向代理功能(内容转发)
vim /etc/varnish/default.vcl
修改CDN配置文件
# 4.0 or 4.1 syntax.
vcl 4.1;
# Default backend definition. Set this to point to your content server.
backend default {
.host = "192.168.43.20";
.port = "80";
}
systemctl restart varnish