Nginx 出现504 Gateway Time-out的解决方法

这篇具有很好参考价值的文章主要介绍了Nginx 出现504 Gateway Time-out的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题发现

客户在系统中上传文件的时候,如果上传文件过大,因为系统需要读取excel文件内容,进行处理,所以耗时比较长,导致等待超时。

分析

nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时。

通常有以下几种情况导致

  1. 程序在处理大量数据,导致等待超时。
  2. 程序中调用外部请求,而外部请求响应超时。
  3. 连接数据库失败而没有停止,死循环重新连。

出现这种情况,我们可以先优化程序,缩短执行时间。假如是文件解析这种本身就耗时比较长的任务,则可以调大nginx超时限制的参数,使程序可以正常执行。文章来源地址https://www.toymoban.com/news/detail-536587.html

修改nginx的配置

http {
    ...
    fastcgi_connect_timeout 3000;
    fastcgi_send_timeout 3000;
    fastcgi_read_timeout 3000;
	···
}
fastcgi_connect_timeout
fastcgi连接超时时间,默认60秒

fastcgi_send_timeout
nginx 进程向 fastcgi 进程发送请求过程的超时时间,默认值60秒

fastcgi_read_timeout
fastcgi 进程向 nginx 进程发送输出过程的超时时间,默认值60秒
server {
    listen 8888;
    location / {
        proxy_pass http://pdfs;
        proxy_connect_timeout   18000;
        proxy_send_timeout      18000;
        proxy_read_timeout      18000;
        proxy_set_header Host 172.10.10.35:8081;
        proxy_set_header X-Forwarded-Scheme  $scheme;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass   http://172.10.10.35:8083/demo/;
    }
}
  1. proxy_connect_timeout 1800s;#nginx跟后端服务器连接超时时间(代理连接超时)
  2. proxy_send_timeout 1800s;#后端服务器数据回传时间(代理发送超时)
  3. proxy_read_timeout 1800s;#连接成功后,后端服务器响应时间(代理接收超时)

到了这里,关于Nginx 出现504 Gateway Time-out的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PHP+Nginx经常出现502、504原因与解决方法

    很多新手刚开始做网站可能感觉不到502,504的问题,当等你网站到达了一定水平的时候,流量起来的时候,你会发现经常会遇到502、504类似的问题。 502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 将请求提交给网关如php-fpm执

    2024年02月15日
    浏览(14)
  • 解决504 GATEWAY TIMEOUT Nginx网关超时

    最近遇到一个问题504 GATEWAY TIMEOUT的问题,在浏览器的NetWork里面看是这个效果。时间大概是60s。 目前后端技术架构主要是nginx和php-fpm,前端主要是vue框架打包发布。 于是首先想到了是nginx超时时间或者与php的超时时间设置的过段,然后配置nginx.conf设置了这些参数。 然后发现

    2024年02月02日
    浏览(30)
  • PHP-FPM与Nginx通信报 502 Bad Gateway或504 Gateway Timeout终极解决方案(适用于PHP执行耗时任务情况下的报错)

    适用于常规请求都没问题,但是执行某些php脚本需要超过一分钟的情况下的502/504,并不是任何请求都502/504的情况(这说明php-fpm或者nginx配置错误)。 执行脚本时间太长,期间php没有返回任何的数据。 php-fpm超时,nginx没超时 。nginx认为php-fpm罢工了,然后抛出了异常。 执行脚

    2024年02月08日
    浏览(31)
  • Nginx反向代理的一个算法API的接口调用超时:504,GateWay Timeout,怎么破?

    服务端由第三方部署了一个基于 darknet (一个较为轻型的完全基于C与CUDA的开源深度学习框架)的识别算法服务,通过 Flask 的 Web 服务对业务服务暴露 API 接口。作为测试,一开始是直接通过 python3 app.py 的命令行启动的服务,然后在 Nginx 处通过反向代理过来的。 可是在通过前

    2023年04月08日
    浏览(31)
  • 关于本地git通过ssh链接github时 time out问题的解决方法

    我们如果想要用git ssh链接到远端github,进行repo的clone等操作时,会进行如下的操作: 首先在ssh端命令生成rsa秘钥,命令如下: ssh-keygen -t rsa -C “你的git绑定的邮箱名字” 然后在github端新建ssh key, 将生成的key写进去。 然后对是否建立联系进行验证,通常运行 ssh -T git@github.

    2024年02月08日
    浏览(24)
  • ping会出现的两种问题-----time out 和 unreachable

    ping命令常见的返回信息有两种: Request timed out和Destination host unreachable 两者的区别是: Request timed out是ping包没有返回的路由,导致超时 Destination host unreachable是ping包没有去到目的地的路由 来看一个例子: 各部件配置如下: !路由器R1的基本配置 configure terminal interface e0/0 ip addr

    2024年02月03日
    浏览(25)
  • HTTP状态码504(Gateway Timeout)报错原因分析和解决办法

    HTTP状态码504表示\\\"Gateway Timeout\\\",这是一种服务器错误响应代码。 当我们访问网页遇到504错误时,意味着HTTP请求无法在服务器预定的时间内得到响应。 通常情况下,504错误是由以下一种或多种情况引起的,我们从用户和网站管理员角度来分析: 一、用户角度 1. 代理服务器问

    2024年02月10日
    浏览(25)
  • 记录一次nginx+Websocket反向代理时报错504-gateway TimeOut和各种开发遇到的坑(wss链接404、ws链接400 bad Requset等等)

    需要反向代理转发websocket链接。 1、nginx路径未匹配上 2、链接上后,在默认的http链接时长中没有发送心跳包,nginx自动关闭http链接,一般默认为1分钟 3、http链接转发后并没有升级为websockt链接(Bad Request 400错误) 4、websocket长链接1分钟后自动关闭 5、wss链接通过nginx转发时,

    2024年02月15日
    浏览(29)
  • 微信小程序 调取云函数 信息推送失败response out of time limit or subscription is canceled hint的具体解决方法

    微信小程序 调云函数 信息推送失败,提示errcode\\\":45015,\\\"errmsg\\\":\\\"response out of time limit or subscription is canceled hint 查了很多资料都说是, 由于长时间用户OpenId未和微信公众号做互动消息,微信公众号会停止对用户进行消息推送,但没说如何操作,决定写一下详细的操作步骤,希望对

    2024年02月07日
    浏览(23)
  • nginx反向代理502-Bad Gateway问题解决方法

    用nginx反向代理 localhost:80 域名到服务器 localhost:8080 端口服务时,访问出现502 bad gateway 原因分析: 1.查看8080端口服务启动 2.查看错误日志:error.log,以centos7.x为例: 192.168.10.202 - - [08/May/2023:20:53:43 +0800] \\\"GET /jenkinsx/ HTTP/1.1\\\" 502 3693 \\\"-\\\" \\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53

    2024年02月06日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包