`
MauerSu
  • 浏览: 495008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

nginx超时设置

 
阅读更多
源:http://www.cnblogs.com/discuss/articles/1866851.html
评:
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;

nginx使用proxy模块时,默认的读取超时时间是60s。


1. send_timeout

syntax: send_timeout the time

default: send_timeout 60

context: http, server, location

Directive assigns response timeout to client. Timeout is established not on entire transfer of answer, but only between two operations of reading, if after this time client will take nothing, then nginx is shutting down the connection.



2. 负载均衡配置时的2个参数:fail_timeout和max_fails

   这2个参数一起配合,来控制nginx怎样认为upstream中的某个server是失效的当在fail_timeout的时间内,某个server连接失败了max_fails次,则nginx会认为该server不工作了。同时,在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server。
个人认为,nginx不应该把这2个时间用同一个参数fail_timeout来控制,要是能再增加一个fail_time,来控制接下来的多长时间内,不再使用down掉的server就更好了~
如果不设置这2个参数,fail_timeout默认为10s,max_fails默认为1。就是说,只要某个server失效一次,则在接下来的10s内,就不会分发请求到该server上

3. proxy模块的 proxy_connect_timeout
syntax: proxy_connect_timeout timeout_in_seconds

context: http, server, location

This directive assigns a timeout for the connection to the proxyserver. This is not the time until the server returns the pages, this is the proxy_read_timeout statement. If your proxyserver is up, but hanging (e.g. it does not have enough threads to process your request so it puts you in the pool of connections to deal with later), then this statement will not help as the connection to the server has been made. It is necessary to keep in mind that this time out cannot be more than 75 seconds.



4. proxy模块的proxy_read_timeout
syntax: proxy_read_timeout the_time

default: proxy_read_timeout 60

context: http, server, location

This directive sets the read timeout for the response of the proxied server. It determines how long NGINX will wait to get the response to a request. The timeout is established not for entire response, but only between two operations of reading.

In contrast to proxy_connect_timeout, this timeout will catch a server that puts you in it's connection pool but does not respond to you with anything beyond that. Be careful though not to set this too low, as your proxy server might take a longer time to respond to requests on purpose (e.g. when serving you a report page that takes some time to compute). You are able though to have a different setting per location, which enables you to have a higher proxy_read_timeout for the report page's location.

If the proxied server nothing will communicate after this time, then nginx is shut connection.


另一个参考:504 Gateway Time-out问题

常见于使用nginx作为web server的服务器的网站

我遇到这个问题是在升级discuz论坛的时候遇到的

一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点
在nginx.conf里, 加入:

fastcgi_buffers 8 128k

这表示设置fastcgi缓冲区为8×128k
当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:

send_timeout 60;

    调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错, 但是也可能是由于其他的原因, 目前关于nginx的资料不是很多, 很多事情都需要长期的经验累计才有结果。

proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 32 4k;
proxy_busy_buffers_size 64k;
分享到:
评论

相关推荐

    Nginx超时设置.docx

    nginx中的超时设置,请求超时、响应等待超时等: nginx timeout 配置 全局timeout 局部timeout web timeout nginx比较强大,可以针对单个域名请求做出单个连接超时的配置. 比如些动态解释和静态解释可以根据业务的...

    nginx超时设置详细介绍

    nginx常用的超时配置说明 client_header_timeout 语法 client_header_timeout time 默认值 60s 上下文 http server 说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有...

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

    主要介绍了Nginx服务器中配置超时时间的方法,同时也对Nginx中的时间管理机制作了详细的介绍,需要的朋友可以参考下

    Nginx的超时timeout配置详解

    Nginx 处理的每个请求均有相应的超时设置。如果做好这些超时时间的限定,判定超时后资源被释放,用来处理其他的请求,以此提升 Nginx 的性能。 keepalive_timeout HTTP 是一种无状态协议,客户端向服务器发送一个 ...

    Nginx 上传大文件超时解决办法

    Nginx 上传大文件超时解决办法 情况如下:用nginx作代理服务器,上传大文件时(本人测试上传50m的文件),提示上传超时或文件过大。 原因是nginx对上传文件大小有限制,而且默认是1M。另外,若上传文件很大,还要...

    nginx转发sftp、ftp的配置

    用nginx可以实现非http协议的转发。suse12实测支持sftp、ftp转发

    Nginx timeout超时配置详解

    最近项目中用到了nginx,后台用的是Java, 发现有一个请求后台处理操过了1分钟,结果请求Status Code为504 Gateway Time-out. 理解了下nginx 所有timeout相关的配置,如下: keepalive_timeout HTTP 有一个 KeepAlive...

    nginx系列(八)nginx失效转移与超时处理

    NULL 博文链接:https://phl.iteye.com/blog/2247162

    Nginx负载均衡特点

    比如根据服务器处理网页返回的状态码、超时等等, 并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测; 6、Nginx对请求的异步处理可以帮助节点服务器减轻负载; 7、Nginx能支持http...

    Nginx辅助器.zip

    Nginx运行与Linux下性能最好,但由于各种原因限制,很多用户都使用windows Nginx PHP环境,Nginx在win系统下很容易造成各种问题,常表现为php-cgi进程莫名其妙自动退出, 造成Nginx无法处理php请求而出现超时故障。...

    nginx+php-fpm优化技巧总结

    nginx服务与php-fpm优化技巧详解,包括内存参数设置,超时参数设置等。

    nginx配置教程

    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件, #对于普通应用,必须设为 on, #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off, #以平衡磁盘与网络I/O处理速度,降低...

    Linux 按照部署 Nginx 服务器 及相关依赖 - Nginx 配置讲解

    Nginx的配置文件位于`/etc/nginx/nginx.conf`,该文件是一个文本文件,用于描述Nginx服务器的行为和设置。以下是Nginx配置的一般描述: 1. 服务端口和服务器块:配置Nginx监听的端口和定义服务器块。服务器块可以...

    nginx 1.9 window 版本

    #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #开启gzip压缩 gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; #设定请求缓冲 client_header_buffer_size 1k; large_...

    Nginx配置http转https以及https访问http静态资源.docx

    Nginx配置http转https以及https访问http静态资源.docx

    Nginx反向代理.doc

    使用Nginx实现Web反向代理功能,实现如下功能: ●后端Web服务器两台,可以使用httpd实现 ●Nginx采用轮询的方式调用后端Web服务器 ●两台Web服务器的权重要求设置为不同的值 ●最大失败次数为1,失败超时时间为30秒

    nginx辅助软件 , 使windows跑Nginx平稳可靠

    Nginx运行与Linux下性能最好,但由于各种原因,很多用户都使用windows环境,Nginx在win系统下很容易造成各种问题,常表现为进程莫名其妙自动退出, 造成Nginx无法处理php请求而出现超时故障。 本软件很好的解决了这...

Global site tag (gtag.js) - Google Analytics