nginx实现负载均衡

1、实现效果

在浏览器地址栏中输入地址 :192.168.2.180/edu/a.html,使请求平均到8080 和 8081端口中

2、准备工作

1)准备2台tomcat服务器:8080 8081

2)在2台tomcat的webapps目录中,创建名称是edu的文件加,在edu文件夹中创建页面 a.html,用于测试。 启动两台 tomcat,准备成功,示例如下(乱码不管了,没什么影响)

clipboard

clipboard

3)对nginx.conf 进行配置

 #负载均衡
    upstream myserver{
        server 192.168.2.180:8080;
        server 192.168.2.180:8081;
    }
    #监听 192.168.2.180:80,并对请求进行分流
    server {
        listen       80;
        server_name  192.168.2.180;


        location / {
            proxy_pass http://myserver;
        }
    }

4) 效果如下

clipboard

刷新后

clipboard

nginx 负载均衡的策略:

1、轮询(默认)

每个请求按时间逐一分配到不同的后端服务器,如果后端服务器down了,则能自动剔除

2、weight

weight代表权重,默认为1,权重越高,被分配的客户端就越多

#负载均衡
    upstream myserver{
        server 192.168.2.180:8080 weight=1;
        server 192.168.2.180:8081 weight=2;
    }

3、ip_hash

每个请求按照ip的hash结果分配,那么只要用户的ip不变,访问的服务器就不变,可以解决

session的问题

upstream myserver{
            ip_hash;
        server 192.168.2.180:8080 weight=1;
        server 192.168.2.180:8081 weight=2;
    }

4、fair

根据后端服务器的响应时间来分配,响应时间短的优先分配

upstream myserver{
        server 192.168.2.180:8080 weight=1;
        server 192.168.2.180:8081 weight=2; 
            fair; 
    }
原文地址:https://www.cnblogs.com/houchen/p/13269775.html