1”NGINX负载均衡设置 (1)轮询算法:每次将请求顺序分配到不同的服务器,通过此算法可以实现请求在多台机器之间的轮询转发。 upstream test_svr { server 192.168.1.10:8080; server 192.168.1.20:8080; server 192.168.1.30:8080; } 在NGINX配置文件中,用upstream指令定义一组负载均衡后端服务池区。 (2)权重算法:通过将不同的后端服务器设置不同的权重以便实现请求的按比例分配,当后端服务器故障时可以自动剔除该服务器。 upstream test_svr { server 192.168.1.10:8080 weight=1 max_fails=1 fail_timeout=10s; server 192.168.1.20:8080 weight=2 max_fails=1 fail_timeout=10s; server 192.168.1.30:8080 weight=3 max_fails=1 fail_timeout=10s; } 其中,test_svr为服务器组名。weight设置服务器的权重,默认为1,权重值越大,表示服务器可以接收更多的请求。max_fails和fail_timeout表示如果某台服务器在fail_timeout时间内出现max_fails次连接失败,那么NGINX就会认为该服务器已经故障,从而剔除该服务器。 (3)IP哈希算法:此算法根据用户的客户端IP将请求分配给后端的服务器,由于源IP相同的客户端经过IP哈希算法后的值相同,因此同一客户端的请求可以分配到后端的同一台服务器上。IP哈希负载均衡主要通过指令ip_hash指定。 upstream test_svr { ip_hash; server 192.168.1.10:8080; server 192.168.1.20:8080; server 192.168.1.30:8080; } “2”NGINX反向代理设置 反向代理方式与普通的代理方式有所不同,使用反向代理服务器可以根据指定的负载均衡算法将请求转发给后端的真实WEB服务器,可以将负载均衡和代理服务器的高速缓存技术结合在一起,从而提升静态网页的访问速度,因此可以实现较好的负载均衡。 “proxy_pass http://test_svr” 用于指定反向代理的服务器池。