一、配置多个不同域名站点的后端服务器
server3:
1.server3安装httpd,编辑一个测试页,开启服务
server3.example.com
server1:
2.编辑/etc/varnish/fefault.vcl文件,添加的内容如下,编辑完后reload服务
backend web1 { ##后端第一个服务器的名字web1
.host = "172.25.22.2"; ##后端第一个服务器的ip
.port = "80";
}
backend web2 { ##后端第一个服务器的名字web2
.host = "172.25.22.3"; ##后端第二个服务器的ip
.port = "80";
}
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend = web1; ##当访问www.westos.org的时候从web1上获取数据
} elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2; ##当访问bbs.westos.org域名时从web2上获取数据
} else {error 404 "westos cache";
}
}
reload服务,更新策略
物理机:
3.物理机编辑本地地址解析文件并测试:
编辑/etc/hosts文件,写入域名解析
vim /etc/hosts
访问www.westos.org,提供数据的是server2,访问bbs.westos.org,提供数据的是server3
二、varnish——CDN加速实现负载均衡
server1:
1.编辑默认配置文件,退出保存后reload服务
物理机:
2. 访问 www.westos.org 域名出现的只有server2,这是因为没有清除缓存,第一次访问后后面的请求的数据都是从缓存中获得的
server1:
3.为了测试方便在配置文件中设置不缓存,reload服务
物理机:
4.物理机测试,访问www.westos.org域名,server2和server3交替出现
三、varnish的虚拟主机(一个主机多个解析)
server3:
1.编辑httpd的主配置文件,设置虚拟主机的信息
2.创建目录/www和/bbs,编辑测试页
<h1>server3- www.westos.org</h1>
<h1>server3- bbs.westos.org</h1>
3.重启httpd服务
4.物理机测试:
(1)访问www.westos.com,轮循调度
(2)访问bbs.westos.org,出现的是刚刚编辑的测试页的信息