Nginx分发高级配置

二次信任 提交于 2019-12-05 22:57:55

 

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

 

 

其它配置

上传限制 

client_max_body_size 15M;

处理超时 

proxy_read_timeout 1800;
proxy_send_timeout 1800;

分发

proxy_next_upstream error timeout http_503;

gzip

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 # 重新动态加载配置文件

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!