zoukankan      html  css  js  c++  java
  • nginx负载均衡配置

    nginx负载均衡配置

      进入/etc/nginx目录,编辑nginx.conf文件;

    #这里的域名要和下面proxy_pass的一样
    upstream  test.com {   
        server    192.168.1.10:8989  weight=1; 
        server    192.168.1.10:8988  weight=2;  
    }     
    
    server {  
        listen       80; 
        server_name  192.168.1.10;  
    
    location / {  
            proxy_pass http://test.com;  
            proxy_redirect default;  
        }  
    
        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  
    }

    负载均衡策略

    1、轮询

    这种是默认的策略,把每个请求按顺序逐一分配到不同的server,如果server挂掉,能自动剔除。

    upstream  test.com {   
        server    192.168.1.10:8989  ; 
        server    192.168.1.10:8988 ;  
    }
    

      

    2、最少连接

    把请求分配到连接数最少的server

    upstream  test.com {   
        least_conn;
        server    192.168.1.10:8989 ; 
        server    192.168.1.10:8988 ;  
    }
    

      

    3、权重

    使用weight来指定server访问比率,weight默认是1。以下配置会是server2访问的比例是server1的两倍。

    upstream  test.com {   
        server    192.168.1.10:8989  weight=1; 
        server    192.168.1.10:8988  weight=2;  
    }
    

      

    4、ip_hash

    每个请求会按照访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一server进行处理,可以解决session的问题。如果server挂掉,能自动剔除。

    upstream  test.com {   
        ip_hash;
        server    192.168.1.10:8989  weight=1; 
        server    192.168.1.10:8988  weight=2;  
    }
    

      

    ip_hash可以和weight结合使用。

    --------------------------------------------------------------------------------------------------------------------------------

    upstream模块主要负责负载均衡的配置,通过默认的轮询调度方式来分发请求到后端服务器

    简单的配置方式如下

    upstream name {
        ip_hash;
        server 192.168.1.10:8000;
        server 192.168.1.10:8001 down;
        server 192.168.1.10:8002 max_fails=3;
        server 192.168.1.10:8003 fail_timeout=20s;
        server 192.168.1.10:8004 max_fails=3 fail_timeout=20s;
    
    }
    

      

    核心配置信息如下

    ip_hash:指定请求调度算法,默认是weight权重轮询调度,可以指定

    server host:port:分发服务器的列表配置

    -- down:表示该主机暂停服务

    -- max_fails:表示失败最大次数,超过失败最大次数暂停服务

    -- fail_timeout:表示如果请求受理失败,暂停指定的时间之后重新发起请求

  • 相关阅读:
    设计模式 — 结构型模式 装饰者模式
    设计模式 — 结构型模式 适配器模式
    Java 集合 — HashMap
    在Linux(centos)上安装PHP的mongodb扩展 成功试过的
    linux一些硬件详情查看的高级方法(网卡,内存,硬盘,cpu)
    CentOS系统环境下安装MongoDB
    CentOS+Apache+php无法访问redis的解决方法 Redis server went away
    如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
    修改mysql root密码
    win7下 sublime text2操作快捷键
  • 原文地址:https://www.cnblogs.com/yuuje/p/11026432.html
Copyright © 2011-2022 走看看