部署单个后端服务器的varnish过程
-
安装
-
更改varnish全局配置
vim /etc/sysconfig/varnish
-
更改varnish配置文件
vim /etc/varnish/default.vcl
以上操作对于varnish的基本配置已经成功了,然而中间还是出了一点问题
由于varnish指向的后端服务器172.25.4.2未开启httpd服务,所以重新加载varnish出现问题 -
物理机验证配置
物理机访问server1出现server2的页面,这样就表示成功了
-
测试缓存命中情况
修改varnish配置文件
重载varnish
真机上测试
真机中 curl -I 172.25.4.1 第一次缓存没有命中前往后端获取
第二次直接获取,不用访问后端说明缓存命中
通过varnish手动清除缓存
varnishadm ban.url 空格 /index.html 清除index.html页面缓存
varnishadm ban.url 空格 .*$ 清除所有缓存清除页面缓存的特殊说明
这是因为虽然curl -I 172.25.45.1和curl -I 172.25.45.1/index.html访问得到的结果一致,但是缓存到cache中的地址不同,cache缓存的是用户访问的url
curl -I 172.25.45.1访问的结果中Age表示缓存时间,默认为120s后自动清除,可在/etc/sysconfig/varnish中修改
定义多个不同域名站点的后端服务器
首先,在server2/3中开启httpd服务,写入html 分别为(我爱中国)(我喜欢学习)。
在真机上添加解析:
172.25.4.1 www.westos.org www.linux.com westos.org
- 在server1中
1、更改配置文件
2、真机测试
在真机中curl www.westos.org westos.org www.linux.org
varnish后端服务器的负载均衡
什么是负载均衡
负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。 负载均衡算法的种类有很多种,常见的负载均衡算法包括轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接法等,应根据具体的使用场景选取对应的算法。varnish中我们采用的是轮询法,平衡对待么一个后端服务器。
什么是健康检查
健康检查: 通过健康检查来确定服务器和应用的健康状况是负载均衡器器一个非常重要的功能。没有负载均衡器,客户端可能会将请求发送到已经停机的服务器上。网络管理员必须手动干预替换这台服务器,或者排除服务器的故障。有时服务器可能没有停机,但是因为某种原因,比如软件的漏洞,服务器上面运行的应用系统已经不能正常工作。比如Web应用可能正常运行,但它返回的页面却是错误的内容。负载均衡器能够检测这些情况并立即将客户请求导向到正常的服务器而不需要管理员的干预。
-
在server3中 更改阿帕其的配置文件
vim /etc/httpd/conf/httpd.conf
mkdir /www 作为虚拟主机共享的目录,并且建立 /www/index.html
-
server1中更改varnish的配置文件
- 真机测试
由于采用的是轮询算法,所以后端服务器1和2会公平的被访问,由于缓存时间默认120s,那么,每一次访问www.westos.org时,每120s会换一次后端服务器,除非其中一个后端服务器出现问题。
我们可以通过修改 vim /etc/sysconfig/varnish 中默认时间120s 为 1s
或者我们可以设置 vim /etc/varnish/default.vcl 中 return(pass); 这样就会直接访问 后端服务器,不会访问缓存。
通过健康检查来确定服务器和应用的健康状况是负载均衡器器一个非常重要的功能。没有负载均衡器,客户端可能会将请求发送到已经停机的服务器上。网络管理员必须手动干预替换这台服务器,或者排除服务器的故障。有时服务器可能没有停机,但是因为某种原因,比如软件的漏洞,服务器上面运行的应用系统已经不能正常工作。比如Web应用可能正常运行,但它返回的页面却是错误的内容。负载均衡器能够检测这些情况并立即将客户请求导向到正常的服务器而不需要管理员的干预。