Nginx反向代理&负载均衡

  1. 知识准备
    https://blog.csdn.net/tongxin_tongmeng/article/details/127327591
    https://blog.csdn.net/tongxin_tongmeng/article/details/127345013
  2. 反向代理
    1.Nginx反向代理前
    http://192.168.1.239:8888-->Nginx欢迎页
    http://192.168.1.239:8181-->Tomcat8欢迎页
    
    2.Nginx反向代理配置(nginx.conf)
    server {
       listen       8888; # 访问端口
       server_name  192.168.1.239; # nginx服务ip
       location / {
           # 反向代理,将/匹配的请求路径转发到指定服务器
           proxy_pass http://192.168.1.239:8181; # Tomcat8欢迎页
       }
    }
    
    3.Nginx反向代理后
    http://192.168.1.239:8888-->Tomcat8欢迎页
    
    4.解释说明
    使用Nginx反向代理前,用户访问Tomcat项目需要直接请求Tomcat服务器,
    使用Nginx反向代理后,用户请求代理服务器Nginx,代理服务器Nginx访问
    Tomcat项目,Nginx将请求到的数据返回给用户,用户不知道Tomcat的ip

    Nginx反向代理&负载均衡_第1张图片

  3. 负载均衡

    1.Nginx负载均衡前(nginx.conf)
    server {
       listen       8888; # 访问端口
       server_name  192.168.1.239; # nginx服务ip
       location / {
           # 反向代理,将/匹配的请求路径转发到指定服务器
           proxy_pass http://192.168.1.239:8181; # Tomcat8欢迎页
       }
    }
    http://192.168.1.239:8888-->Tomcat8欢迎页-->请求都转发到Tomcat8
    
    2.Nginx负载均衡配置(nginx.conf)
    upstream tomcats {	
        server 192.168.1.239:8181; # Tomcat8欢迎页
        server 192.168.1.239:8282; # Tomcat9欢迎页
        server 192.168.1.239:8383; # Tomcat10欢迎页
    }
    server {
       listen       8888; # 访问端口
       server_name  192.168.1.239; # nginx服务ip
       location / {
           # 反向代理,将/匹配的请求路径转发到指定服务器
           proxy_pass http://tomcats;
       }
    }
    
    3.Nginx负载均衡后
    http://192.168.1.239:8888-->Tomcat8欢迎页/Tomcat9欢迎页/Tomcat10欢迎页-->请求分别转发到Tomcat8、Tomcat9、Tomcat10
    
    4.解释说明
    Tomcat8、Tomcat9、Tomcat10处理相同的业务,使用Nginx负载均衡前,用户请求全部由
    Tomcat8服务器处理,使用Nginx负载均衡后,用户请求由Tomcat8、Tomcat9、Tomcat10
    共同处理,负载均衡可以减轻单台服务器的压力,可以避免单台服务器挂机导致服务中断

    Nginx反向代理&负载均衡_第2张图片
    Nginx反向代理&负载均衡_第3张图片
    Nginx反向代理&负载均衡_第4张图片

  4. 负载均衡策略

    upstream tomcats {
        # 同一个ip的请求由同一个服务器处理-->保证session一致
        ip_hash;
        # 权重weight越大分配的请求越多-->最多失败2次 失败2次后暂停20秒
        server 192.168.1.239:8181 weight=2 max_fails=2 fail_timeout=20;
        # 配置重载后该服务器不再处理请求-->服务器维护
        server 192.168.1.239:8282 down;
        # 其他服务器全部挂掉后启用该服务器-->服务器备胎
        server 192.168.1.239:8383 backup;
    }
    server {
       listen       8888;
       server_name  192.168.1.239;
       location / {
           proxy_pass http://tomcats;
       }
    }

你可能感兴趣的:(nginx,linux,服务器)