标签:
weight=number 设置服务器的权重,默认为1
max_fails=number 设置在fail_timeout 时间内不成功的尝试次数,判断此机器是否可用,默认尝试次数为1
fail_timeout=time 设置判断机器是否可用尝试的时间,默认时间为10s
backup 标明此机器为备份机器,当主机器不可用的时候起作用。
down 标明此机器不可用。
max_conns=number 限制代理服务器的最大连接数。默认值为0,也就是没有限制
resolve 监听ip地址以及对应的服务器域名的改变,自动修改配置,不用重启nginx.
route=string 设置服务器的路由名称
slow_start=time 设置服务器权重从0恢复到标准值的时间,默认值为0
ip_hash 请求基于客户端的ip被分发到不同的机器,把客户端IPv4地址的前三个字节或者整个ipv6地址作为一个key,确保当一个请求来自同一个客户端,发布到同一个服务器上直到这台机器不可用,才被分发到另外一台机器上。
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com down;
server backend4.example.com;
}
keepalive 设置服务器持续连接的最大连接数的参数,当这个数目被超过之后,最近最少使用的连接被关闭。
upstream memcached_backend {
server 127.0.0.1:11211;
server 10.0.0.2:11211;
keepalive 32;
}
upstream http_backend {
server 127.0.0.1:8080;
keepalive 16;
}
server {
...
location /http/ {
proxy_pass http://http_backend;
proxy_http_version 1.1;
proxy_set_header Connection "";
...
}
}
health_check :
interval=time 时间间隔,两个连续检查的时间间隔,默认为5s
fails=number 连续失败次数,根据这个参数判断此机器是否健康,默认值为1.
passes=number 连续通过的次数,很据这个参数达到这个参数判断此机器是健康的,默认值为1.
match=name 指定回应正确的判断条件,默认是这个response 的返回码应该是2xx或者3xx
例子:
http {
server {
...
location / {
proxy_pass http://backend;
health_check match=welcome;
}
}
match welcome {
status 200;
header Content-Type = text/html;
body ~ "Welcome to nginx!";
}
}
match=name:
status 200;status ! 500;status 200 204;status ! 301 302;status 200-399;status ! 400-599;status 301-303 307;
header Content-Type = text/html;text/htmlheader Content-Type != text/html;text/htmlheader Connection ~ close;closeheader Connection !~ close;closeheader Host;header ! X-Accel-Redirect;
body ~ "Welcome to nginx!";Welcome to nginx!”body !~ "Welcome to nginx!";Welcome to nginx!”
match welcome {
status 200;
header Content-Type = text/html;
body ~ "Welcome to nginx!";
}
# status is not one of 301, 302, 303, or 307, and header does not have "Refresh:"
match not_redirect {
status ! 301-303 307;
header ! Refresh;
}
# status ok and not in maintenance mode
match server_ok {
status 200-399;
body !~ "maintenance mode";
}
queue number 当请求数达到最大值时,请求会放到队列里面,当队列满了的时候并且服务器不能再接受请求,然后返回客户端502。
标签:
原文地址:http://www.cnblogs.com/fanminghui/p/5799678.html