1. 配置多个后端服务器
(不同的域名分配到不同的后端)
一个CDN节点(代理服务器)它用来负责调度,当客户发出请求,他将请求分配给多个后端服务器,
然后再从这些后端服务器上获取资源,转发给用户。
在企业中一个代理服务器通常对应着多个后端服务器(即web服务器),他为多个后端服务器做代理。
- vim /etc/varnish/default.vcl
systemctl restart varnish
) - 在web1/2中
- 主机中添加解析地址
2. 负载均衡
> 在企业当中的web后端服务器(为客户端提供资源的服务器)的性能有好有坏 性能差一点的就让它少干一点活,性能好的就多分担一点
> 现在就是node2这个web服务器性能比较差,node3这个服务器性能比较好
> 客户端通过varnish加速器访问node2的时候去轮询node3
> 实际上node2和node3上面存放的资源一模一样,只是为了实验效果明显起见,写为www.westos.org和bbs.westos.org
> 当客户端第一次访问node2的时候varnish去问node2要资源 当客户端第二次访问node2的时候varnish去问node3要资源
> 这个时候node2和node3上面的资源一模一样,客户端根本察觉不到,也缓解了node2(性能差)的访问压力
> 客户端通过varnish加速器访问node3的时候只去找node3(性能好)
> 以上这个思想就是在node2和node3之间实现调度(负载均衡),这个调度就是在varnish这个加速器上面实现的
> 实现负载均衡的调度算法很多,为了实验效果明显起见,我们使用轮询方式的均衡。
-
两台服务器轮询接受访问请求
-
man vmod_directors
查看帮助
-
vim /etc/varnish/default.vcl
-
varnishadm ban req.url “~” /
手动执行清除缓存信息,每访问一次执行一次
3. 图形化清理varnish代理服务器上的缓存
清理缓存方法:
一 是return(pass)不保存缓存这种
二 是手动清理缓存的 varnishadm ban req.url “~” /
这俩种方法都是用命令行格式来做的,对于企业中不会命令行的人会有影响,所以我们用图形化来清理varnish代理服务器上的缓存。
3.1 CDN推送管理
-
安装httpd和php
-
解压上面的软件包到/var/www/html/目录
-
vim config.php
- vim /etc/httpd/conf/httpd.conf
端口号80已经被varnish占用了,所以我们用8080
- systemctl restart httpd
3.2 设置用户管理
因为CDN清除缓存等这些操作我们得管理员才能做,其他陌生人是不被允许的
-
vim /etc/varnish/default.vcl
systemctl restart varnish -
测试
-
*.是推送所有
-
推送页面/index.html