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:表示如果请求受理失败,暂停指定的时间之后重新发起请求

posted @ 2019-06-15 09:02  Mr、桔子  阅读(213)  评论(0编辑  收藏  举报