nginx 504 Gateway Time-out 解决办法

今天用PHP执行一个非常耗时的文件【ps:自己有用,大概3分钟】

但是执行到一分钟后显示

nginx 504 Gateway Time-out

于是修改php-ini.php中的max_execution_time =1200;重启php,还是没用

突然明白,如果是超时是php设置的问题,会报以下错误

Fatal error: Maximum execution time of 60 seconds exceeded in E:\ceshi\001\map.php on line 27

所以问题出在nginx上,汗,上面不是说了nginx 504吗;

继续度娘

找到一篇关于nginx配置的文章【nginx.conf】

里面有一些这个配置

#设定http服务器
http
{
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型
#charset utf-8; #默认编码
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; #上传文件大小限制
large_client_header_buffers 4 64k; #设定请求缓
client_max_body_size 8m; #设定请求缓
sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。
tcp_nopush on; #防止网络阻塞
tcp_nodelay on; #防止网络阻塞
keepalive_timeout 120; #长连接超时时间,单位是秒

#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

}

于是把自己nginx配置中的fastcgi_connect_timeout值改了一下,ok了

看了字母意思也就明白了

时间: 2024-10-15 04:05:05

nginx 504 Gateway Time-out 解决办法的相关文章

nginx 504 Gateway Time-out错误排查

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

记一次 nginx 504 Gateway Time-out

今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题 执行时间大概在10分钟左右就出现超时 分析: Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI 通常以下几种情况会导致这个问题: 1.程序在处理大量的数据,或者有死

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的一些方法

在CentOS下配置lnmp组合基本上用的都是同样的配置文件,一直都没出现过问题,可最近在一个vps上安装同样的环境之后,网站在线10多人就出 现了打开速度非常缓慢的情况,有好几次都是直接达到了nginx中设置的脚本最大超时时间300秒,结果导致nginx往客户端浏览器发送了一个504 Gateway Time-out的错误代码,分析了之后改动了几处配置文件,终于避免了该情况的出现.    从 错误代码基本可以确定跟nginx本身无关,主要是提交给php-fpm的请求未能正确反馈而导致,一般情况

Flask uwsgi nginx:504 Gateway Time out

uwsgi+nginx部署的web站点运行时可能产生504 Gateway Time out这样的错误,究其原因是因为相关参数设置的不当. nginx和uwsgi整合时有三个参数可以用于设置超时时间,在nginx配置文件http->server->location中设置. uwsgi_connect_timeout:默认60秒,与uwsgi-server连接的超时时间,该值不能超过75秒.若在超时时间内未能成功连接则断开连接尝试.uwsgi_read_timeout:默认60秒,nginx等待

phpstorm 502 bad gateway 最简单解决办法

遇到的问题: 解决办法: 1.电脑左下角开始--搜索”php.exe“,记录下路径,如我的是C:\xampp\php\ 2.点击phpstorm里的configured PHP Interpreter(见下图) 3.点击下图里的红框 4.在下图红框输入步骤1里的php的文件夹路径确认即可. PS:本人是新手在自学PHP,有什么说得不对的,麻烦各位指出.谢谢.

当CodeIgniter遇到Nginx报404错误的解决办法

由于CodeIgniter当初是设计在apache的,而apache对pathinfo是支持比较好的,所以一切都很nice.但是当你把写好的代码放到nginx上,傻眼了,可能出了CodeIgniter的welcom之外,其他都是404错误.而我惊奇的发现,CodeIgniter的官方文档竟然对在Nginx上的配置只字不提.而你百度"CodeIgniter Nginx 404"又能搜到一堆一堆的文章,奇葩的是几乎每个文档的配置方法貌似还不大一样.如果你搞好了还罢,搞不好就是配几个晚上都搞

Nginx Upstream timed out 的解决办法

以下内容来自:http://www.ttlsa.com/nginx/nginx-upstream-timed-out-110-connection-timed-out/ 可能发生在如下两种情况上: 1. nginx proxy 此时需要适当的调整 proxy_read_timeout 值. location / { ... proxy_read_timeout 300; ... } 2. nginx 作为 php-fpm 等其他的上游服务 在这种情况下,适当的调整 fastcgi_read_ti

解决 502、504 Gateway Time-out(nginx)

一.504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站 我遇到这个问题是在升级discuz论坛的时候遇到的 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out 现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K 默认的fastcgi进程