Nginx报出504 Gateway Timeout错误2

昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504 Gateway Timeout错误

经观察,发现大约30秒时超时,php.ini中执行时间配置已经是300秒:

复制代码代码如下:

max_execution_time = 300

再查nginx的相关配置,无果。

写了一个php的测试页再测:

复制代码代码如下:

echo ‘aaa‘;
set_time_limit(0);
sleep(40);
echo ‘aa‘;

依然超时,可以确定set_time_limit这个函数没生效。

再查php-fcgi的配置php-fpm.conf,下边这个设置疑似有问题:

复制代码代码如下:

<value name="request_terminate_timeout">30s</value>

查官方文档:http://php-fpm.org/wiki/Configuration_File

复制代码代码如下:

request_terminate_timeout - The timeout (in seconds) for serving a single request after which the worker process will be terminated. Should be used when ‘max_execution_time‘ ini option does not stop script execution for some reason. Default: "5s". Note: ‘0s‘ means ‘off‘

大意是php中set_time_limit设置的时间内如果php还没执行完,则走此处的配置,也就是request_terminate_timeout=30秒。

先把这个参数改的和php中set_time_limit值一样,都是300秒,还不行,不理解为什么,如果高手知道请赐教。

最终把request_terminate_timeout关闭,程序可以正常执行了,问题解决:

复制代码代码如下:

<value name="request_terminate_timeout">0s</value>

补充:如果前端的nginx服务器使用了upstream负载均衡,那个负载均衡配置中以下几个参数也需要相应修改:

复制代码代码如下:

proxy_connect_timeout       300s;
proxy_send_timeout          300s;
proxy_read_timeout          300s;

时间: 2024-10-12 12:32:23

Nginx报出504 Gateway Timeout错误2的相关文章

Nginx报504 gateway timeout错误的解决方法

转载文章来源:http://www.111cn.net/sys/nginx/90669.htm(若侵删) Nginx报504 gateway timeout错误引起,一个是文件配置问题,另一个是相关处理时长了,最后也有可能是资源不足导致了,下面我们一起来看看. 解释如下: 最近在工作中,需要做Excel导入的功能,由于Excel的数据比较多,而且我们的服务端程序需要对数据的内容做校验,会调用很多的外部服务接口,所以毫无悬念的导入Excel接口调用超过了一分钟,并且报错:504 gateway t

Nginx 502/504 Gateway time-out错误完美解决方案【转发】

在安装完Nginx+PHP-fpm+Mysql后,跑PHP的应用会经常出现504 Gateway Time-out 或者502 Bad Gateway的情况. Nginx 504 Gateway Time-out 的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的 PHP-CGI.这种情况可能是由于 nginx 默认的 fastcgi 进程响应的缓冲区太小造成的, 这将导致 fastcgi 进程被挂起, 如果你的 fastcgi 服务对这个挂起处理的不好, 那么最后就极有可能导致 

nginx 504 Gateway Time-out错误排查

一次nginx 504 Gateway Time-out错误排查.解决记录,经过反复检查,发现造成这个问题的原因就是PHP的CURL没有设置超时时间,解决办法只要设置超时时间或者修改一下nginx的配置即可解决. 记一次莫名其妙的网站失去响应排查.之前网站一直是使用nginx做代理后端的apache运行php来提供服务.apache经常会不定期不定时间的出现不能服务失去响应,然后nginx出现"504 Gateway Time-out"查看错误日志也看不到任何东西,以为是apache的

WDCP LNMPA和LNMP 504 Gateway time-out错误的解决方法

Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定.当我以为安装完成以后便万事大吉,不料更新网站的时候却出现504 Gateway time-out;起初还以为这是偶然,多次尝试后依然出现这样的情况,因此才决定查找解决方法. LNMP面对504 Gateway time-out 因为504 Gateway time-out是Nginx的专属错误,因此起初我以为是nginx

LNMP环境出现”504 gateway time-out”错误的解决方案

今天下午在调试测试VPS机器的时候,出现"504 gateway time-out"错误提示.VPS是安装的LNMP一键安装包,关于这个错误之前还没有见过,网上看到比较多的是502错误,对于504的错误还是第一次遇到.于是乎,肯定要发挥网络资源的共享特点,搜索看是否有出现过的,并且找出解决方法. 因为yd631.com测试空间是安装的nginx,所以可能是这里的问题,我们需要找到:/usr/local/nginx/conf/nginx.conf 位置的文件,然后针对下面的参数进行设置.

如何解决“504 Gateway Time-out”错误

做网站的同学经常会发现一些nginx服务器访问时候提示504 Gateway Time-out错误,一般情况下是由nginx默认的fastcgi进程响应慢引起的,但也有其他情况,这里我总结了一些解决办法供大家参考. 方法/步骤 情况一:由于nginx默认的fastcgi进程响应缓冲区太小造成 这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误. 情况一解决办法: 默认的fastcgi进程响应的缓冲区

LNMPA遇到504 Gateway time-out错误的解决方法

Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定. 当我以为安装完成以后便万事大吉,不料更新网站的时候却出现504 Gateway time-out;起初还以为这是偶然,多次尝试后依然出现这样的情况,因此才决定查找解决方法. LNMP面对504 Gateway time-out    因为504 Gateway time-out是Nginx的专属错误,因此起初我以为是n

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

2018年02月23日 17:19:48 阅读数:3656 本文介绍nginx出现504 Gateway Time-out问题的原因,分析问题并提供解决方法. 1.问题分析 nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时.   通常有以下几种情况导致 1.程序在处理大量数据,导致等待超时. 2.程序中调用外部请求,而外部请求响应超时. 3.连接数据库失败而没有停止,

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

使用Nginx作为WEB服务器时,经常会遇到504 Gateway Time-out的错误提示.经过研究,基本可以确定多数情况下这个错误与Nginx本身无关,问题的根源在于Nginx将PHP的解析提交给后端 php-fpm处理的过程中,由于fastcgi参数配置不当造成的超时等一系列的问题. 通过查询相关资料,总结了fastcgi配置参数的调整方案,供大家参考,详细如下: 修改 php-fpm 配置文件: 1.把 max_children 改为64,保证有充足的php-cgi进程可以被使用:2.