CDN(Content Delivery Network)
是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
Varnish简介
Varnish是一款高性能的开源HTTP加速器,Varnish的功能与Squid服务器相似,都可以用来做HTTP缓存。
Varnish工作原理图
当varnish上没有缓存时,加速过程是:
client --> dns --> cdn --> server --> cdn --> cache --> client
当varnish上有缓存时,加速过程是:
client --> dns --> cdn --> cache --> client
实验环境:三台虚拟机和一台真机
server1 172.25.5.1
server2 172.25.5.2
server3 172.25.5.3
真机 172.25.5.250
实验1:配置varnish服务器
server1:下载安装varniash软件包
1.把这两个包放到真机的/var/ftp/pub目录下
(真机要下载安装vsftpd服务并start开启,虚拟机下载安装lftp就可以用lftp命令来在pub目录下共享目录)
2.修改varnish的监听端口为80
3.查看内核允许打开文件的最大数
再查看varnish能打开文件的最大数(还是查看)
4.因为 内核>软件,所以修改NFILES
又因为 内核操作>操作系统>软件 所以操作系统的文件数在两者之间
5.在文本最后编辑文件
6.开启服务并查看端口
server2:作为网络服务器
下载apache并开启服务
编辑发布页面内容
server1
修改varnish监听网络服务器的ip
重新加载
客户端测试
实验2:查看缓存命中情况
server1:添加代码
重新加载varnish
客户端测试
添加本地解析
开始访问测试:
第一次访问时未命中
第二次访问命中
varnish默认缓存时间120s,超过120s自动清除缓存
实验3:通过 varnishadm 手动清除缓存
server1进行清除缓存:
Client进行测试:
实验4:定义多个不同域名站点的后端服务器
server1:修改代码
重新加载
server2:配置网络服务器
开启httpd服务,编写测试页并重启服务
在server2中 vim /car/www/html/index.html
写入:<h1>www.westos.org</h1>
网站上可以访问到
server3:配置网络服务器
安装并开启服务
yum install httpd -y
/etc/init.d/httpd start
编辑默认发布界面:
vim /car/www/html/index.html
写入:<h1>bbs.westos.org</h1>
Client进行测试:
添加本地解析:
访问测试:
实验5:负载均衡和健康状况
server1:
server2:
vim /var/www/html/index.html
server3:设定虚拟主机
重启服务vim /etc/init.d/httpd restart
测试虚拟主机,做域名解析
在server3上测试:
Client客户端测试
在shell进行测试: