nginx常用的超时配置说明

client_header_timeout

语法 client_header_timeout time
默认值 60s
上下文 http server
说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有收到请求头,才会算成超时。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)

client_body_timeout 
语法 client_body_timeout time
默认值 60s
上下文 http server location
说明 该指令设置请求体(request body)的读超时时间。仅当在一次readstep中,没有得到请求体,就会设为超时。超时后,nginx返回HTTP状态码408(“Request timed out”)

keepalive_timeout 
语法 keepalive_timeout timeout [ header_timeout ]
默认值 75s
上下文 http server location
说明 第一个参数指定了与client的keep-alive连接超时时间。服务器将会在这个时间后关闭连接。可选的第二个参数指定了在响应头Keep-Alive: timeout=time中的time值。这个头能够让一些浏览器主动关闭连接,这样服务器就不必要去关闭连接了。没有这个参数,nginx不会发送Keep-Alive响应头(尽管并不是由这个头来决定连接是否“keep-alive”)
两个参数的值可并不相同

  • 注意不同浏览器怎么处理“keep-alive”头
  • MSIE和Opera忽略掉"Keep-Alive: timeout=<N>" header.
  • MSIE保持连接大约60-65秒,然后发送TCP RST
  • Opera永久保持长连接
  • Mozilla keeps the connection alive for N plus about 1-10 seconds.
  • Konqueror保持长连接N秒

lingering_timeout
语法 lingering_timeout time
默认值 5s
上下文 http server location
说明 lingering_close生效后,在关闭连接前,会检测是否有用户发送的数据到达服务器,如果超过lingering_timeout时间后还没有数据可读,就直接关闭连接;否则,必须在读取完连接缓冲区上的数据并丢弃掉后才会关闭连接。

resolver_timeout
语法 resolver_timeout time 
默认值 30s
上下文 http server location
说明 该指令设置DNS解析超时时间

proxy_connect_timeout
语法 proxy_connect_timeout time 
默认值 60s
上下文 http server location
说明 该指令设置与upstream server的连接超时时间,有必要记住,这个超时不能超过75秒。
这个不是等待后端返回页面的时间,那是由proxy_read_timeout声明的。如果你的upstream服务器起来了,但是hanging住了(例如,没有足够的线程处理请求,所以把你的请求放到请求池里稍后处理),那么这个声明是没有用的,由于与upstream服务器的连接已经建立了。

proxy_read_timeout
语法 proxy_read_timeout time 
默认值 60s
上下文 http server location
说明 该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应。这个时间不是获得整个response的时间,而是两次reading操作的时间。

proxy_send_timeout
语法 proxy_send_timeout time 
默认值 60s
上下文 http server location
说明 这个指定设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两次write操作期间。如果超时后,upstream没有收到新的数据,nginx会关闭连接

proxy_upstream_fail_timeout(fail_timeout)
语法 server address [fail_timeout=30s]
默认值 10s
上下文 upstream
说明 Upstream模块下 server指令的参数,设置了某一个upstream后端失败了指定次数(max_fails)后,该后端不可操作的时间,默认为10秒

时间: 2025-01-08 06:13:03

nginx常用的超时配置说明的相关文章

《高性能Linux服务器构建实战》——1.5节Nginx常用配置实例

1.5 Nginx常用配置实例Nginx作为一个HTTP服务器,在功能实现方面和性能方面都表现得非常卓越,完全可以与Apache相媲美,几乎可以实现Apache的所有功能.下面就介绍一些Nginx常用的配置实例,具体包含虚拟主机配置.负载均衡配置.防盗链配置以及日志管理等. 1.5.1 虚拟主机配置实例下面在Nginx中创建3个虚拟主机,需要说明的是,这里仅仅列出了虚拟主机的配置部分. http { server { listen 80; server_name www.domain1.com;

nginx error_log 错误日志配置说明

nginx error_log 错误日志配置说明: nginx的error_log错误日志类型有六种: [ debug | info | notice | warn | error | crit ] 例如:error_log logs/nginx_error.log crit; 这六种类型区别,自左至右,所记录的信息越来越少,debug记录更详细,crit记录的最少,如果不记录的话可以这么写:error_log /dev/null;

Nginx常用功能详解_nginx

一.NGINX目录保护及访问限制 Nginx保护目录的配置如下,目录密码保护文件是 /usr/local/nginx/htpasswd location ~ /admin { #admin为要保护的目录名称,location 的意思就是保护从网页根目录算起的admin 目录 auth_basic "PLEASE LOGIN"; #就是进入资料夹时会显示的信息 auth_basic_user_file /usr/local/nginx/htpasswd; #验证用户及密码文件,我这边设定

NGINX常用负载均衡设置

    当前比较流行的负载均衡前端服务器主要有apache(with mod_proxy),nginx,lighttpd,squid,perlbal,pound,或者如果你的域名服务商提供DNS级别的负载均衡,也可以(就是一个域名随机指向多个IP,定制性不高).     以前自己常用pound作为前端,它专注于负载均衡,支持https协议,配置还算简单,不过渐渐发现功能不够强大,转而研究其他一些既可以做负载均衡,又能做web服务器的高性能工具吧.Perlbal是第一个看的,大牛Danga的杰作,

很详细的Nginx配置说明_nginx

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器.支持FastCGI.SSL.Virtual Host.URL Rewrite.Gzip等功能.并且支持很多第三方的模块扩展. Nginx的稳定性.功能集.示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站. Ng

轻量级HTTP服务器Nginx:常用配置实例

风信网(ithov.com)原创文章:Nginx作为一个HTTP服务器,在功能实现方面和性能方面都表现得非常卓越,完全可以与http://www.aliyun.com/zixun/aggregation/14417.html">Apache相媲美,几乎可以实现Apachc的所有功能.下面就介绍一些Nginx常用的配置实例,具体包含虚拟主机配置.负载均衡配置.防盗链配置以及日志管理等. 1.虚拟主机配置实例 下面在Nginx中创建3个虚拟主机,需要说明的是,这里仅仅列出了虚拟主机的配置部分.

Nginx的常用配置实例

Nginx作为一个HTTP服务器,在功能实现方面和性能方面都表现得非常卓越,完全可以与Apache相媲美,几乎可以实现Apache的所有功能,下面就介绍一些Nginx常用的配置实例,具体包含虚拟主机配置.负载均衡配置.防盗链配置以及日志管理等. 一. 虚拟主机配置实例 下面在Nginx中创建三个虚拟主机,需要说明的是,这里仅仅列出了虚拟主机配置部分. http { server { listen 80; server_name www.domain1.com; access_log logs/d

nginx日常维护常用命令_nginx

一.简明nginx常用命令 1. 启动 Nginx 复制代码 代码如下: poechant@ubuntu:sudo ./sbin/nginx 2. 停止 Nginx 复制代码 代码如下: poechant@ubuntu:sudo ./sbin/nginx -s stoppoechant@ubuntu:sudo ./sbin/nginx -s quit -s都是采用向 Nginx 发送信号的方式. 3. Nginx 重载配置 复制代码 代码如下: poechant@ubuntu:sudo ./sb

PHP超时处理应用场合及解决方案全面总结

  [ 概述 ] 在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景: 1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现 2. 为了保证Web服务器不会因为当个页面处理性能差而导致无法访问其他页面,则会对某些页面操作设置 3. 对于某些上传或者不确定处理时间的场合,则需要对整个流程中所有超时设置为无限,否则任何一个环节设置不当,都会导致莫名执行中断 4. 多个后端模块(MySQL.Memcached.HTTP接口),为了防止单个接口性能太差,导致整个前面获