`
MauerSu
  • 浏览: 514933 次
  • 性别: 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 是一款广泛使用的高性能 Web 服务器和反向代理服务器。它具有丰富的配置选项,能够满足不同场景下的需求。其中,超时设置是非常重要的一个方面,对于提高用户体验、...

    nginx超时设置详细介绍

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

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

    同时,要注意不同的超时设置可能对不同类型的请求产生不同的影响,因此需要根据业务场景进行细致的分析和测试。在调整超时参数时,建议先进行小规模的测试,观察服务器的响应和资源使用情况,以找到最佳的配置组合。

    Nginx的超时timeout配置详解

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

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

    Nginx提供了多种超时设置,包括`client_body_timeout`、`client_header_timeout`、`proxy_read_timeout`等,用来控制不同阶段的超时行为。例如: ```nginx http { server { location / { client_body_timeout ...

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

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

    Windows下Nginx的安装与配置

    default_type用于设置默认的文件类型,log_format用于设置日志格式,access_log用于设置访问日志,sendfile用于设置是否启用sendfile功能,keepalive_timeout用于设置keepalive超时时间。 在server部分,我们可以...

    nginx安全加固.pdf

    Timeout设置:调整超时设置,如client_body_timeout、client_header_timeout等,可以有效防止DOS攻击。 e. 配置日志:合理配置日志格式和位置,有助于及时发现安全问题。 f. 限制访问:只允许特定的请求方法...

    nginx配置tcp转发(nginx通过白名单访问)

    # 可选设置,超时时间 proxy_timeout 60s; # 可选设置,连接池大小 proxy_connect_timeout 3s; proxy_send_timeout 10s; proxy_read_timeout 10s; } } ``` 在这个配置中,`listen`指令指定了Nginx监听的...

    nginx转发sftp、ftp的配置

    - `proxy_connect_timeout 1s` 和 `proxy_timeout 3s`:分别设置了连接超时时间和总的超时时间,这两个参数可以根据实际需求进行调整。 - `proxy_pass sftp`:将连接请求转发至之前定义的后端服务组`sftp`。 2. *...

    驾驭时间的缰绳:Nginx连接超时处理全解析

    后来,Nginx的开发和维护由Nginx公司支持。 ### Nginx的主要特点包括: 1. **高并发处理能力**:Nginx能够高效地处理大量并发连接,这得益于其事件驱动的架构。 2. **反向代理服务器**:Nginx能够作为反向代理...

    Linux 离线 安装Nginx必要环境, 包含openssl模块

    在Linux环境中,离线安装Nginx及其依赖项,特别是openssl模块,是一项常见的任务,尤其在没有互联网连接或者网络受限的服务器上。本教程将详细解释如何进行这一操作。 首先,你需要确保你的Linux系统是基于RPM(Red...

    nginx nginx.conf配置

    events块主要设置Nginx如何处理客户端的连接请求,比如最大连接数、连接超时时间等。例如: ``` events { use epoll; # 使用epoll事件模型 worker_connections 1024; # 每个工作进程的最大连接数 } ``` 4. *...

    nginx.config_nginx_

    这里`include`指令用于引入其他配置文件,`default_type`定义默认MIME类型,`sendfile`启用高效文件传输,`keepalive_timeout`设置客户端保持连接的超时时间。 4. **server块** - `server`块定义了一个监听特定...

    nginx负载均衡配置,宕机自动切换方式

    在传统的nginx负载均衡配置中,并未直接提供后端服务器健康检查的功能,但nginx提供了几个重要的指令来帮助我们设置超时和重试机制,来间接保障服务的可用性。例如,proxy_connect_timeout指令用于设置nginx尝试连接...

    nginx1.16+nginx-upstream-check-module-master+nginx-upload-module

    配置此模块时,我们需要设置检查间隔、超时时间、失败重试次数等参数,以适应不同的系统需求。 `nginx-upload-module`则是用于处理文件上传的Nginx模块。在很多Web应用中,用户可能需要上传图片、文档等文件,这个...

Global site tag (gtag.js) - Google Analytics