企业级——搭建具有多个web服务器的varnish服务系统

116 篇文章 0 订阅
114 篇文章 0 订阅

企业级——搭建具有多个web服务器的varnish服务系统

负载均衡

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。实际上企业当中的web后端服务器(为客户端提供资源的服务器)的性能有好有坏,性能差一点的就让它少干一点活,性能好的就多分担一点,现在server1这个web服务器性能比较差,server2这个服务器性能比较好,客户端通过日常访问时会对server1和server2进行轮询访问,但通过varnish加速器访问的时候去轮询server2。

1.搭建环境

haohao1作varnish缓存代理系统
haohao2作后台web1服务器
haohao3作后台web2服务器

haohao3、haohao2、haohao1中查看状态:
ip addr show
systemctl status firewalld
getenforce

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.定义后端服务器
haohao1中:
(1)安装varnish及依赖项
yum install jemalloc-3.6.0-1.el7.x86_64.rpm varnish-4.0.5-1.el7.x86_64.rpm  varnish-libs-4.0.5-1.el7.x86_64.rpm -y 

在这里插入图片描述

(2)查看varnish配置文件及版本

rpm -qc varnish 		# 查看varnish服务的配置文件
rpm -qa | grep varnish 	# 查看varnish版本

在这里插入图片描述

(3)修改系统参数

永久修改:
vim /etc/security/limits.conf	#修改系统参数
varnish         -       nofile          131072  #varnish用户最大开启文件个数 
varnish         -       memlock         82000 #运行varnish时内存允许其占用82M内存空间
varnish         -       nproc        unlimited  #varnish用户开启进程数不受限制
临时修改:
ulimit -n 131072
ulimit -l 82
ulimit -a

在这里插入图片描述

(4)配置服务开启端口为80端口
vim  /etc/varnish/varnish.params 

在这里插入图片描述

(5)配置两个后端服务器
vim /etc/varnish/default.vcl #编辑varnish核心配置文件
backend default {
  	.host = "172.25.76.2";	##配置后端realserver
  	.port = "80";
}
backend web2 {
    .host = "172.25.76.3";
    .port = "80";
}
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") {
   		set req.http.host = "www.westos.org";
   		set req.backend_hint = web1;
} elsif (req.http.host ~ "^bbs.westos.org") {
   		set req.backend_hint = web2;
} else {
   		return (synth(405));
		}
}

在这里插入图片描述

(6)重启varnish服务,查看生成的默认用户及80端口
systemctl restart varnish
netstat -antpl
id varnish  

在这里插入图片描述

在haohao2中搭建web1后端服务:
yum install httpd -y		#安装httpd服务
cd /var/www/html
vim index.html				#编辑默认发布界面
systemctl start httpd		#开启服务

在这里插入图片描述

在haohao3中搭建web2后端服务:
yum install httpd -y		#安装httpd服务
cd /var/www/html
vim index.html				#编辑默认发布界面
systemctl start httpd		#开启服务

在这里插入图片描述

真机中测试:
vim /etc/hosts 			#添加varnish域名解析
curl www.westos.org
curl bbs.westos.org

在这里插入图片描述
在这里插入图片描述

3.负载均衡的实现
在server1中:
(1)查看负载均衡模块路径
/usr/lib64/varnish/vmods/libvmod_directors.so

在这里插入图片描述

(2)编辑default.vcl配置文件
vim /etc/varnish/default.vcl  #编辑varnish核心配置文件
import directors from "/usr/lib64/varnish/vmods/libvmod_directors.so";
# Default backend definition. Set this to point to your content server.
sub vcl_init {				##定义负载均衡
    new lb = directors.round_robin();
    lb.add_backend(web1);
    lb.add_backend(web2);
}


sub vcl_recv {
    if (req.http.host ~ "^(www.)?westos.org") {
        set req.http.host = "www.westos.org";
     set req.backend_hint = lb.backend();		##当访问www.westos.org时,请求转到web1
        #return (pass);				##测试时可打开此选项,不进行缓存
    } elsif (req.http.host ~ "^bbs.westos.org") {
        set req.backend_hint = web2;
    } else {
	return (synth(405));
    }
}
systemctl restart varnish			#重启服务

在这里插入图片描述
在这里插入图片描述

在真机中测试:

在这里插入图片描述

4.搭建一个varnish系统为具有多个资源的web后端服务器服务
在haohao3中:
(1)编辑vhost.conf文件
vim /etc/httpd/conf.d/vhost.conf		#编辑httpd访问规则文件
<VirtualHost *:80>
    DocumentRoot /www #转向目标目录
    ServerName www.westos.org  #当以域名www.westos.org访问时
</VirtualHost>
<Directory "/www">  #设置目标目录权限
    Require all granted
</Directory>

<VirtualHost *:80>
    DocumentRoot /bbs
    ServerName bbs.westos.org #当以域名bbs.westos.org访问时
</VirtualHost>
<Directory "/bbs"> #设置目标目录权限
    Require all granted
</Directory>
systemctl restart httpd		#重启服务

在这里插入图片描述

(2)创建目录,编辑默认发布文件

在这里插入图片描述

在真机中测试:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值