Nginx分发高级配置


1、proxy_next_upstream,可通过后端服务器返回的响应状态码,表示服务器死活,可以灵活控制后端机器是否加入分发列表

默认值是proxy_next_upstream error timeout;

error      # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现错误
timeout    # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现超时
invalid_header  # 后端服务器返回空响应或者非法响应头
http_500   # 后端服务器返回的响应状态码为500
http_502   # 后端服务器返回的响应状态码为502
http_503   # 后端服务器返回的响应状态码为503
http_504   # 后端服务器返回的响应状态码为504
http_404   # 后端服务器返回的响应状态码为404
off        # 停止将请求发送给下一台后端服务器


2、upstream,通过max_fails、fail_timeout可以根据不同类型的系统设置不同的重试策略

upstream mainwww {
    server 10.16.70.205:9000 max_fails=1 fail_timeout=10s;
    server 10.16.70.206:9000 max_fails=1 fail_timeout=10s;
}


max_fails=number      
#设定Nginx与服务器通信的尝试失败的次数。在fail_timeout参数定义的时间段内,如果失败的次数达到此值,Nginx就认为服务器不可用。在下一个fail_timeout时间段,服务器不会再被尝试。失败的尝试次数默认是1。设为0就会停止统计尝试次数,认为服务器是一直可用的。

fail_timeout=time       
#设定服务器被认为不可用的时间段以及统计失败尝试次数的时间段。在这段时间中,服务器失败次数达到指定的尝试次数,服务器就被认为不可用。默认情况下,该超时时间是10秒。


3、nginx_upstream_check_module模块,淘宝技术团队开发的nginx模块,tengine自带了该模块的

check interval=3000 rise=2 fall=5 timeout=1000 type=http;


参考http://www.iyunv.com/thread-38535-1-1.html

你可能感兴趣的:(nginx,upstream)