nginx 负载均衡——实战

本文详细介绍如何在Nginx中配置负载均衡,并通过实例演示了轮询、权重分配、基于IP哈希及最少连接数等策略的具体实现。

负载均衡

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

  1. 准备两个tomcat的服务器。
    这里我们在同一台Linux服务器上运行两个tomcat分别为8080和8081端口。(关于tomcat的准备这里不在过多介绍,可以自行网上搜索)。

  2. 在8080端口的tomcat的webapps路径下。
    再创建一个lbt文件夹,也创建一个a.html的文件。文件内容如下。


<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。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值