一、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 # 中止将请求发送给下一台后端服务器
二、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秒。
三、nginx_upstream_check_module模块,淘宝技术团队开发的nginx模块,tengine自带了该模块的
check interval=3000 rise=2 fall=5 timeout=1000 type=http;javascript
参考http://www.iyunv.com/thread-38535-1-1.htmlcss
其它配置html
上传限制 java
client_max_body_size 15M;nginx
处理超时 json
proxy_read_timeout 1800;
proxy_send_timeout 1800;后端
分发服务器
proxy_next_upstream error timeout http_503;app
gzipserver
gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json application/javascript;
worker_processes auto;
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
}
nginx -t -c /xxxxxx/conf/nginx.conf # 验证配置文件是否正确
nginx -s reload -c /xxxxx/conf/nginx.conf # 从新动态加载配置文件