二)在实际应用中,当其中一个节点出现故障,实际上varnish服务器无法访问故障节点,但是varnish服务器中有缓存页面内容,客户端可以访问到相同的页面内容。无法实现自动切换,我们要求实现无缝转发流量。
[root@localhost ~]# vim /usr/local/varnish/default.vcl
增加:
backend web1 {
.host = "192.168.1.100";
.port = "80";
.probe = { //开启健康检查
.url = "/"; //请求的URL路径
.interval = 5s; //查询间隔时间
.timeout = 1s; //超时时间
.window = 5; //滑动窗
缓存及加速-03单-高性能缓存服务器Varnish.txt[2016/8/19 15:28:24]
.threshold = 3; //上次检查.window数量的多少,
}
}
backend web2 {
.host = "192.168.1.200";
.port = "80";
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3;
}
}
......略(其他保持一样)......
注意:可能会由于缓存的原因,切换会有延迟,我做的时候,延迟有点大,好长时间页面才切换过来……
[root@localhost ~]# varnishd -C -f /usr/local/varnish/default.vcl //检查语法
[root@localhost ~]# varnishd -f /usr/local/varnish/default.vcl //启动
[root@localhost ~]# netstat -anpt | grep varnishd
验证:
客户端访问,varnish服务器会根据故障实现切换。
RedHat脚本改用CentOS源更新安装Nginx、PHP 5.3、Varnish
Red Hat Linux 7 下Varnish简单搭建