负载均衡(load-balance)就是将负载分摊到多个操作单元上执行,从而提高服务的可用性和响应速度,带给用户更好的体验。Nginx不仅可以作为一个Web服务器或反向代理服务器,还可以通过upstream指令实现配置负载均衡服务器组实现多种方式的负载均衡。4种典型方式:轮询方式、权重方式、ip_hash方式、第三方模块方式。
轮询方式是默认方式,每个请求按照时间顺序逐一分配到不同的后端服务器进行处理,如有服务器宕机会被自动剔除。
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 { server 192.168.1.123; server 192.168.1.91; }
在上述配置中,第6行用于指定代理的URL。第10~13行用于设置负载均衡服务器组,其中upstream指令后的web_server表示代理的服务器主机名,供第6行的proxy_pass指令执行反向代理时使用;第11~12行利用server指令在upstream块中配置了后端Web服务器,这些服务器可以有一个或多个,从而形成负载均衡服务器组。
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
转载请注明:零五宝典 » Nginx负载均衡配置——轮询方式