当前位置 主页 > 服务器问题 > nginx问题汇总 >

    详解Nginx服务器中配置超时时间的方法

    栏目:nginx问题汇总 时间:2018-10-02 16:10

    这篇文章主要介绍了Nginx服务器中配置超时时间的方法,同时也对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操作的时间。

缩小 缩小 缩小 缩小