nginx实现负载均衡

2019-01-13  本文已影响0人  奋斗live
环境准备:

1、这里我准备了两台服务器
一台nginx : 112.*.*.62(这是ip) centos 7.2
一台tomcat :119.*.*37(这是ip) centos7.2
其实应该准备两台tomcat的,这样看效果能看的清楚点,不过这也无伤大雅。

nginx配置

修改了/etc/nginx/nginx.conf 文件,如下,如果想多转发到其他的tomcat的话,就可以在upstream配置多台tomcat的ip

image.png

再修改default.conf文件,如下


image.png
测试

先直接访问tomcat服务器,提示如下,说明已经成功访问到tomcat中了(不要在意这个404报错,这个错误正是tomcat提示出来的)


image.png

然后再访问nginx服务器,提示也如下


image.png

说明nginx已经成功把请求转发到tomcat中了,这个错误就是tomcat返回给nginx,然后再返回给客户端的。

负载均衡策略

1、轮询

这种是默认的策略,把每个请求按顺序逐一分配到不同的server,如果server挂掉,能自动剔除。

upstream  futest.com{   
    server   192.168.99.1:80; 
    server   192.168.99.2:80;  
}

2、最少连接

把请求分配到连接数最少的server

upstream  futest.com {   
    least_conn;
     server   192.168.99.1:80; 
    server   192.168.99.2:80;  
}

3、权重

使用weight来指定server访问比率,weight默认是1。以下配置会是server2访问的比例是server1的两倍。

upstream  futest.com{   
     server   192.168.99.1:80 weight=1; 
    server   192.168.99.2:80 weight=2;  
}

4、ip_hash

每个请求会按照访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一server进行处理,可以解决session的问题。如果server挂掉,能自动剔除。

upstream  futest.com {   
    ip_hash;
     server   192.168.99.1:80; 
    server   192.168.99.2:80;  
}

ip_hash可以和weight结合使用。

上一篇下一篇

猜你喜欢

热点阅读