nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > nginx设置超时时间

nginx设置超时时间的问题及解决方案

作者:you秀

程序在处理大量数据,接口超过1分钟(默认的)未返回数据,导致等待超时,出现这种情况,我们可以先优化程序,缩短执行时间,可以调大nginx超时限制的参数,使程序可以正常执行,本文介绍nginx设置超时时间及504 Gateway Time-out的问题解决方案,一起看看吧

nginx设置超时时间

前言:

    nginx默认请求时间是60s,在特殊的情况下个别的请求时间会超过60秒,比如在进行复杂的硬件操作或重复多
次的硬件操作的时候,就会超过60s,超时会报错。
    通过配置nginx配置文件可以修改默认的超时时间:

nginx配置:(以下配置文件经过脱敏,拿自己想要的即可)

server {
        listen       *:65531;
        server_name  0.0.0.0;
        error_log   stderr warn;
        access_log  stdout main;
        proxy_send_timeout 180s;     # 设置发送超时时间,
        proxy_read_timeout 180s;	 # 设置读取超时时间。
        location ^~/apig/ {
          client_max_body_size                    "100m";
          proxy_pass https://localhost:8086/;
        }
        location / {
            root   /opt/ty/console;
            index  index.html index.htm;
        }
        location = /index.html {
            root   /opt/ty/console;
            index  index.html index.htm;
            add_header Cache-Control "no-cache, no-store";
        }
        error_page  404              /;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

nginx出现504 Gateway Time-out

问题

nginx访问出现504 Gateway Time-out

常见原因:程序在处理大量数据,接口超过1分钟(默认的)未返回数据,导致等待超时。

出现这种情况,我们可以先优化程序,缩短执行时间。可以调大nginx超时限制的参数,使程序可以正常执行。

解决方法

nginx配置nginx.conf中,设置以下几个参数,增加超时时间配置:

如果使用了Nginx的代理,可以在下面这里加上下面三个配置:

location /foo {
     proxy_pass http://xxx.xxx.xxx.xxx:8080/foo;
     proxy_connect_timeout      300s;       # 默认60s
     proxy_send_timeout           300s;       # 默认60s
     proxy_read_timeout           300s;       # 默认60s
}

到此这篇关于nginx设置超时时间的文章就介绍到这了,更多相关nginx设置超时时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文