欢迎来到云服务器

服务器租用

详解Nginx处事器中设置超时时间的要领

一、啥时候用到

       用来配置请求资源和处事器返回的时间,担保一个请求占用固按时间,超出后报504超时!这样可以担保一个请求占用过长时间。

二、主要参数

利用nginx处事器假如碰着timeou环境时可以如下配置参数,利用fastcgi:

         fastcgi_connect_timeout 75;  链接

         fastcgi_read_timeout 600;   读取

         fastcgi_send_timeout 600;   发请求

     这两个选项.
fastcgi_read_timeout是指fastcgi历程向nginx历程发送response的整个进程的超时时间
fastcgi_send_timeout是指nginx历程向fastcgi历程发送request的整个进程的超时时间

     这两个选项默认都是秒(s),可以手动指定为分钟(m),小时(h)等

三、其他常用参数以及参数说明

        keepalive_timeout  600;   毗连超时时间,1分钟,详细时间可以按照请求(譬喻靠山导入)需要的时间来配置

        proxy_connect_timeout 600;    1分钟

        proxy_read_timeout 600;    1分钟

nginx超时设置参数说明:

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秒

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操纵的时间。

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”)

lingering_timeout

语法 lingering_timeout time

默认值 5s

上下文 http server location

说明 lingering_close生效后,在封锁毗连前,会检测是否有用户发送的数据达随处事器,假如高出lingering_timeout时间后还没有数据可读,就直接封锁毗连;不然,必需在读取完毗连缓冲区上的数据并扬弃掉后才会封锁毗连。

resolver_timeout

语法 resolver_timeout time

默认值 30s

上下文 http server location

说明 该指令配置DNS理会超时时间

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秒

四、实例

这里来看一个把Nginx的超时时间上调的例子。
看看时间是否切合要求,在nginx.config内里的三个参数:

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

以上的单元是秒。

假如利用了Nginx的署理,可以在块里加上:

proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号