nginx在做负载均衡时如何配置?
1、如下面图中所示,下面的架构就是我们今天的演示结构,后端有两台服务器,分别是node1和node2,前端是一台web服务器,然后在web服务器上做负载均衡,将前端的访问流量导到后端的两个节点服务器上。三个服务器的IP地址分别是:web:192.168.1.210node1:192.168.1.211node2:192.168.1.212




6、启动后在浏览器上输入前端web服务器的ip地址192.168.1.210,然后可以看到第一次是node1响应的,然后刷新一下以后,又变成了node2响应的。就这样实现了负载均衡的效果。由两个服务器分别响应,是因为默认的负载均衡算法是轮询算法,即两个节点轮流来。

7、然后我们还可以尝试一下加权轮询算法, 即给不同的节点配置不同的权重,权重高一点的服务器,响应的多一些,权重第一点的响应少一些。加权轮询算法配置如下面图中所示,在后端服务器后面加上权重值weight即可。配置好以后,执行nginx -t命令检测配置文件,确认无误后,执行nginx -s reload命令重新加载配置文件。

8、通过加权轮询的方式,我们无法通过手动一次次点击,最后来统计次数。但是我们可以使用自动化工具来统计。使用的工具是一款叫做httpd-tools的软件,安装好以后,提供了一个ab命令,如下面图中所示:

10、然后我们登录到后端的node1服务器上,打开nginx的访问日志,从中可以看到ab命令测试的访问信息里,访问来源都是ApacheBench,因此可以通过可以来源来统计nginx响应的次数。命令是:grep ApacheBench access.log | wcnode1和node2节点上的统计结果分别是714和286,如下面图中所示,虽然没有达到5:2的权重比例,但是也非常接近了。说明这个配置生效了。
