企业—Varnish调度之多个后端服务器(负载均衡,虚拟主机)

实验环境
主机名(IP) 服务

server1(172.25.254.1)	varnish
server2(172.25.254.2)	apache
server3(172.25.254.3)	apache

server1:

部署varnish服务,可查看上一篇博文

server2

安装httpd开启服务

在这里插入图片描述

在默认发布目录下编写后端分享服务

在这里插入图片描述

server3:
同server2配置相同

在这里插入图片描述

一.配置多个后端服务器
1.varnish的配置文件中添加解析

server1

[root@server1 ~]# vim /etc/varnish/default.vcl 
文件编辑内容如下:
backend web1 {  ##后端的第一个服务器web1
  .host = "172.25.254.2"; #将server2
  www.westos.org作为第一个服务器的主机名
  .port = "80";
}
backend web2 { #后端的第二个服务器web2
  .host = "172.25.254.3"; #将server3 bbs.westos.org作为第二个服务器的主机名
  .port = "80";
}
当访问www.westos.org时从web1也就是server2上取数据
当访问bbs.westos.org时从web2也就是server3上取数据
访问其它页面会报错
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend = web1;
} elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2;
} else {
error 404 "westos cache";
}
}

在这里插入图片描述

在这里插入图片描述

2.测试

在物理机添加解析

在这里插入图片描述

在物理机中测试如下:

在这里插入图片描述

二.负载均衡
1.负载均衡的基本概念

负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务分担给多个服务器或网络设备,从而提高业务处理能力。
负载均衡的算法有很多种,在varnish中常采用的算法是轮询法
2.负载均衡的实现

在server1(varnish端)

[root@server1 ~]# vim /etc/varnish/default.vcl 

文件编辑内容如下:
在这里插入图片描述

在这里插入图片描述

在物理机上测试如下:

在这里插入图片描述

可以发现当访问www.westos.org时,因为有lb函数所以在后端服务器server2和server3之间进行轮询调度,而bbs.westos.org没有lb函数,所以只是显示server3后端realserver的内容。

三.一台主机有多个虚拟解析
1.在server3的httpd服务器上建立多个虚拟主机

在httpd配置文件中添虚拟主机

[root@server3 html]# cd /etc/httpd/conf
[root@server3 conf]# ls
httpd.conf  magic
[root@server3 conf]# vim httpd.conf 

编辑内容如下:
打开虚拟主机的80端口

在这里插入图片描述

添加虚拟主机所要发布的内容

在这里插入图片描述

在这里插入图片描述

2.验证如下:

在物理机上添加解析

vim /etc/hosts

在这里插入图片描述

在物理机中访问测试

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44313519/article/details/89372550