weight=number:int
设置服务器的权重值
# 权重配置
upstream tomcats {
server 192.168.1.100:8080 weight=6;
server 192.168.1.101:8080 weight=2;
server 192.168.1.102:8080 weight=2;
}
max_conns=number:int
default 0 : 表示不做任何限制
限制一台服务器的最大连接数
用于保护避免过载,可起到限流作用
# 最大连接数配置
upstream tomcats {
server 192.168.1.100:8080 max_conns=500;
server 192.168.1.101:8080 max_conns=300;
server 192.168.1.102:8080 max_conns=300;
}
slow_start=time:int[s] 商业版有效
服务器的慢速启动
该参数不能与 hash 和 random 一起使用
如果负载均衡服务器中只有一台服务器,则该配置无效
需要同时配置权重
# 懒加载配置
upstream tomcats {
server 192.168.1.100:8080 weight=6 slow_start=60s;
server 192.168.1.101:8080 weight=2;
server 192.168.1.102:8080 weight=2;
}
max_fails=number:int 和 fail_timeout=time:int[s]
max_fails 最大失败次数,当服务器在fail_timeout指定的时间段内失败达到最大失败次数,nginx将认为该服务已经宕机,不再将请求分发到该服务器。再等待一个fail_timeout 指定的时间后 继续尝试请求。
# 单位时间内失败次数记账配置
upstream tomcats {
server 192.168.1.100:8080 max_fails=1 fail_time=10s;
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
keepalive number:int
保持在worker进程和upstream定义的服务器之间的tcp 长连接的数量。有助于提高代理服务器的吞吐量。
# 配置工作进程开启的和upstream中服务器的长连接数量
upstream tomcats {
server 192.168.1.100:8080;
keepalive 32;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcats;
#需要将http版本指定为1.1 1.1默认开启Keep-Alive
proxy_http_version 1.1;
proxy_set_header Connection "";
#或者也可以使用下列配置开启Keep-Alive
#proxy_set_header Connection "Connection:Keep-Alive"
}
}
keepalive_timeout timeout[s] 和 keepalive_request number
keepalive_timeout 配置tcp 长连接的超时时间,表示建立连接多少秒后关闭连接。
keepalive_requests 配置在tcp连接期间,可以通过该tcp连接发送的http最大请求数量,达到最大数量后关闭连接。
这两个元素与http、server、location 中的用法一致。
# 配置工作进程开启的和upstream中服务器的长连接数量
upstream tomcats {
server 192.168.1.100:8080;
keepalive_timeout 75s;
keepalive_requests 100;
}