配置nginx的upstream负载均衡

配置在nginx.conf文件中的http配置项内

方式1: 轮询

upstream xxx_server_name{
    server 192.168.10.1:80;
    server 192.168.10.2:80;
    server 192.168.10.3:80;
 }

方式2: 权重轮询

upstream xxx_server_name{
    server 192.168.10.1:80 weight=1;
    server 192.168.10.2:80 weight=2;
    server 192.168.10.3:80 weight=3;
}

方式3: ip_hash

每一个请求按訪问ip的hash结果分配

upstream xxx_server_name{
    ip_hash;
    server 192.168.10.1:80;
    server 192.168.10.2:80;
    server 192.168.10.3:80;
}

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

fair(第三方), fair顾名思义,公平地按照后端服务器的响应时间(rt)来分配请求,响应时间短即rt小的后端服务器优先分配请求。如果需要使用这种调度算法,必须下载Nginx的upstr_fair模块。

upstream xxx_server_name{
    server 192.168.10.1:80;
    server 192.168.10.2:80;
    server 192.168.10.3:80;
    fair;
}

方式5:url_hash

目前用consistent_hash替代url_hash与ip_hash类似,但是按照访问url的hash结果来分配请求,使得每个url定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下。

upstream xxx_server_name{
    server 192.168.10.1:80;
    server 192.168.10.2:80;
    server 192.168.10.3:80;
    hash $request_uri; 
    hash_method crc32; 
    }

使用方式

将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“
http://xxx_server_name”
示例:

location / { 
    root  html; 
    index  index.html index.htm; 
    proxy_pass http://xxx_server_name; 
}

你可能感兴趣的:(配置nginx的upstream负载均衡)