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

     

  • 相关阅读:
    C# WinForm dataGridView 技巧小结
    Win7设置局域网共享
    vs2010快捷键大全
    C# WebBrowser.DocumentCompleted 多次调用解决方法
    为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制
    VB高清图标制作方法
    sqlite 中文排序
    一个vbs文件将指定文件夹下的文件名输出到指定文件夹下
    用DOS命令获取文件列表
    文件搜索神器 Everything
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860710.html
Copyright © 2020-2023  润新知