【nginx】基于nginx的负载均衡

1.实现效果

     在浏览器中访问http://xxxxx/dev/a.html,负载均衡效果,平均在8080和8081端口中。

    

2.准备工作

     提前准备好两个tomcat  端口号一个是8081 另一个是8080 在两个tomcat中创建目录dev 以及目录下添加a.html。

3.在nginx中配置文件中进行负载均衡配置

在nginx中配置文件中 添加如下。

    # nginx balance
    upstream myserver{
        server    192.168.58.136:8080;
        server    192.168.58.136:8081;
   }

    server {
        listen       80;
        server_name  192.168.58.136;

        location / {
           proxy_pass  http://myserver;
           root   html;
           index  index.html index.htm;
        }
    }

4.测试结果

         每刷新一次,8080 和  8081 平均负载 http请求。

      

5.  Nginx的4种负载策略

5.1 轮询(默认)

每个请求按时间顺序逐一分配不同的后端服务器,如果后端服务器宕机,则自动剔除。

5.2 weight 

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

执行轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

扫描二维码关注公众号,回复: 10047799 查看本文章

示例

upstream server_pool{
    server 192.168.5.21 weight=10;
    server 192.168.5.22 weight=10;
}

5.3 Ip_hash

每个请求按访问ip的hash结果分配,这样每个用户固定访问一个后端服务器,可以解决session的问题。但是存在单点故障问题。所以根据业务情况选择。

upstream server_pool{
    ip_hash; 
    server 192.168.5.21:80;
    server 192.168.5.22:80;
} 

5.4 fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream server_pool(
     server 192.168.5.21:80; 
     server 192.168.5.22:80; 
   fair;
}

 

发布了264 篇原创文章 · 获赞 347 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/jia970426/article/details/104930958