weight=number:int

设置服务器的权重值

  1. # 权重配置
  2. upstream tomcats {
  3. server 192.168.1.100:8080 weight=6;
  4. server 192.168.1.101:8080 weight=2;
  5. server 192.168.1.102:8080 weight=2;
  6. }

max_conns=number:int

default 0 : 表示不做任何限制
限制一台服务器的最大连接数
用于保护避免过载,可起到限流作用

  1. # 最大连接数配置
  2. upstream tomcats {
  3. server 192.168.1.100:8080 max_conns=500;
  4. server 192.168.1.101:8080 max_conns=300;
  5. server 192.168.1.102:8080 max_conns=300;
  6. }

slow_start=time:int[s] 商业版有效

服务器的慢速启动
该参数不能与 hash 和 random 一起使用
如果负载均衡服务器中只有一台服务器,则该配置无效
需要同时配置权重

  1. # 懒加载配置
  2. upstream tomcats {
  3. server 192.168.1.100:8080 weight=6 slow_start=60s;
  4. server 192.168.1.101:8080 weight=2;
  5. server 192.168.1.102:8080 weight=2;
  6. }

max_fails=number:int 和 fail_timeout=time:int[s]

max_fails 最大失败次数,当服务器在fail_timeout指定的时间段内失败达到最大失败次数,nginx将认为该服务已经宕机,不再将请求分发到该服务器。再等待一个fail_timeout 指定的时间后 继续尝试请求。

  1. # 单位时间内失败次数记账配置
  2. upstream tomcats {
  3. server 192.168.1.100:8080 max_fails=1 fail_time=10s;
  4. server 192.168.1.101:8080;
  5. server 192.168.1.102:8080;
  6. }

keepalive number:int

保持在worker进程和upstream定义的服务器之间的tcp 长连接的数量。有助于提高代理服务器的吞吐量。

  1. # 配置工作进程开启的和upstream中服务器的长连接数量
  2. upstream tomcats {
  3. server 192.168.1.100:8080;
  4. keepalive 32;
  5. }
  6. server {
  7. listen 80;
  8. server_name localhost;
  9. location / {
  10. proxy_pass http://tomcats;
  11. #需要将http版本指定为1.1 1.1默认开启Keep-Alive
  12. proxy_http_version 1.1;
  13. proxy_set_header Connection "";
  14. #或者也可以使用下列配置开启Keep-Alive
  15. #proxy_set_header Connection "Connection:Keep-Alive"
  16. }
  17. }

keepalive_timeout timeout[s] 和 keepalive_request number

keepalive_timeout 配置tcp 长连接的超时时间,表示建立连接多少秒后关闭连接。
keepalive_requests 配置在tcp连接期间,可以通过该tcp连接发送的http最大请求数量,达到最大数量后关闭连接。

这两个元素与http、server、location 中的用法一致。

  1. # 配置工作进程开启的和upstream中服务器的长连接数量
  2. upstream tomcats {
  3. server 192.168.1.100:8080;
  4. keepalive_timeout 75s;
  5. keepalive_requests 100;
  6. }