zoukankan      html  css  js  c++  java
  • 【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和访问比率成正比,用于后端服务器性能不均的情况。

    示例

    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;
    }

     

  • 相关阅读:
    【java】之位运算^,&,<<,>>,<<<,>>>总结
    【java】之算法复杂度o(1), o(n), o(logn), o(nlogn)
    【springboot】之自动配置原理
    【git】之使用shell脚本提交代码
    【linux】之日志查看
    【mysql】字段类型和长度的解释
    老生常谈:++a与a--区别
    关于tr:hover变色的问题
    服务器端渲染VS浏览器端渲染
    HTTP状态码302、303、307区别
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860710.html
Copyright © 2011-2022 走看看