• 五、nginx 配置实例-负载均衡


      实现效果:浏览器地址栏输入地址 http://ng/c/c.html ,负载均衡效果,平均 8080和8081

    5.1、实验代码

    • 首先准备两个同时启动的 Tomcat windows和linux上隔一个tomcat,两台 tomcat 里面 webapps 目录中,创建名称是 c 文件夹,在 c文件夹中创建 页面 c.html,确保能直接通过访问tomcat访问到。

    • 在 nginx.conf 中进行配置
    http {
        .........
         
         upstream myserver{
            server 192.168.116.131:8080
            server 192.168.116.1:8080;
        }
        
          
        server {
            listen      9991;
            server_name  ng;
    
            location / {
                proxy_pass   http://myserver;
                proxy_connect_timeout 10;
            }
        }
    }

      随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题, 顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应 足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品, 很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎, nginx 就是其中的一个,在 linux 下有 Nginx、LVS、Haproxy 等等服务可以提供负载均衡服 务,而且 Nginx 提供了4种分配服务器策略。

    5.2、Nginx分配服务器策略。

    (1)、轮询(默认)

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

    (2)、weight

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

      指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:

    upstream myserver{
            server 192.168.116.131:8080 weight=1;
            server 192.168.116.1:8080 weight=1;
        }

    (3)、ip_hash

      每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。例如:

    upstream myserver{
            ip_hash;
            server 192.168.116.131:8080;
            server 192.168.116.1:8080;
        }

    (4)、fair(第三方)

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

    upstream myserver{
            fair;
            server 192.168.116.131:8080;
            server 192.168.116.1:8080;
        } 
  • 相关阅读:
    fishredux 大体流程
    flutter Container组件和Text组件
    vue 页面跳转以及传参
    mySql 查询当天、本周、最近7天、本月、最近30天的语句
    Flutter编译时下载依赖报错的解决方案
    计算属性和方法
    计算属性传参
    原生js发送请求
    MySQL数据库连接
    flask 蓝图
  • 原文地址:https://www.cnblogs.com/jdy1022/p/14168613.html
Copyright © 2020-2023  润新知