Nginx负载均衡配置——权重方式

Nginx 3388℃

负载均衡(load-balance)就是将负载分摊到多个操作单元上执行,从而提高服务的可用性和响应速度,带给用户更好的体验。Nginx不仅可以作为一个Web服务器或反向代理服务器,还可以通过upstream指令实现配置负载均衡服务器组实现多种方式的负载均衡。4种典型方式:轮询方式权重方式ip_hash方式第三方模块方式

权重方式是利用weight指定的权重比率,与访问率成正比,用于后端服务器性能不均的情况。

1.准备服务器

准备3台虚拟机,并全部安装Nginx服务器。可以参考:源码编译安装Nginx,其中IP为192.168.1.141的服务器用作负载均衡服务器,另外两台用作后端Web服务器,IP分别为192.168.1.123和192.168.1.91

2.配置负载均衡服务器nginx.conf

#配置域名为test.com的主机
server {
    listen       80;
    server_name  test.com;
    location / {
        proxy_pass http://web_server;
    }
}
#配置负载均衡服务器组名称、地址、权重
upstream web_server {
        #weigrt权重值(越大访问率大),在fail_timeout时间内检查后端服务器max_fails次,失败则被剔除;
	server 192.168.1.123 weight=1 fail_timeout=30s max_fails=2;
	server 192.168.1.91 weight=1 fail_timeout=30s max_fails=2;
}

在上述配置中,weigth参数表示权值,权值越高则被分配到的概率越大。除此之外,还可以设定每台Web服务器在负载均衡调度中的状态,常用的参数:max_fails允许请求失败的次数默认为l、fail_timeoutq请求失败后暂停服务的时间、backup预留的备份机器、down表示当前的server暂时不参与负载均衡。

 

3.配置WEB服务器组

在Web服务器192.168.1.123中的网站目录下编写index.html,内容如下:

192.168.1.123

在Web服务器192.168.1.91中的网站目录下编写index.html,内容如下:

192.168.1.91

4.测试验证

重启负载均衡服务器配置后,在其他机器上多次访问192.168.1.141输出以下类似结果说明配置成功:

curl 192.168.1.141
#输出192.168.1.123
curl 192.168.1.141
#输出192.168.1.91
curl 192.168.1.141
#输出192.168.1.91

转载请注明:零五宝典 » Nginx负载均衡配置——权重方式