nginx负载均衡配置

Posted yuuje

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:表示如果请求受理失败,暂停指定的时间之后重新发起请求

以上是关于nginx负载均衡配置的主要内容,如果未能解决你的问题,请参考以下文章

nginx 配置负载均衡服务器

使用Nginx配置TCP负载均衡

Nginx负载均衡配置

nginx 负载均衡配置

OpenResty 动态负载均衡

Nginx实现负载均衡