搜索
您的当前位置:首页正文

nginx 负载均衡——实战

来源:好走旅游网

负载均衡

负载均衡演示案例预备条件


<html>
<h1>load banlance 8080</h1>
</html>
  1. 同样我们在8080端口的tomcat的webapps路径下。
    再创建一个lbt文件夹,也创建一个a.html的文件。文件内容如下。

<html>
<h1>load banlance 8081</h1>
</html>
  1. 分别启动两台tomcat服务器。
    分别访问一下地址,我们会看到一下结果。
  • http://192.168.8.108:8080/lbt/a.html
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FUYl5s0x-1621215154586)(imgs/nginx-re-proxy02.PNG)]

  • http://192.168.8.108:8081/lbt/a.html
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bqlaiJdr-1621215154591)(imgs/nginx-re-proxy04.PNG)]

实战——配置负载均衡

  1. 配置负载均衡 在http属性中新增一个upstream配置。新增一个server虚拟主机配置。
http {
    upstream lbserver{
        server 192.168.8.108:8080;
        server 192.168.8.108:8081;
    }
    server{
        listen 9001;
        server_name 192.168.8.108;
        location / {
                proxy_pass http://lbserver;
        }
    }
}

属性配置说明:

  • upstream 负载均衡配置器。
  • upstream.server 负载均衡指定的需要在负载均衡时进行分配的ip和端口地址,本机或非本机id都可以。
  • 虚拟主机的server配置与反向代理的类似,只是在proxy_pass中配置成upstream的名称,如案例中所示 http://lbserver 。
  1. 测试效果
    现在直接访问http://192.168.8.108:9001/lbt/a.html 地址。可以看到8080和8081被轮询访问到。
    说明配置的负载均衡是起效的,且默认是轮询的负载均衡效果。

负载均衡策略

weight

指定每个服务的权重比例,weight和访问比率成正比。

upstream lbserver{
    server 192.168.8.108:8080 weight=1;
    server 192.168.8.108:8081 weight=2;
}

ip_hash

每个请求都根据访问ip的hash结果分配,经过这样的处理,每个访客固定访问一个后端服务。

upstream lbserver{
    ip_hash; 
    server 192.168.8.108:8080;
    server 192.168.8.108:8081;
}

least_conn

将请求分配到连接数最少的服务上。

upstream lbserver{
    least_conn;
    server 192.168.8.108:8080;
    server 192.168.8.108:8081;
}

小结

  • upstream负载均衡配置器。
  • 负载均衡策略:weight、ip_hash、least_conn。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top