记一次nginx504GatewayTime-out,nginxtime-out_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了记一次nginx504GatewayTime-out,nginxtime-out_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2283字,纯文字阅读大概需要4分钟。
内容图文
![记一次nginx504GatewayTime-out,nginxtime-out_PHP教程](/upload/InfoBanner/zyjiaocheng/191/4dbeed6c04c34dbebf620c6dccef7c81.jpg)
记一次 nginx 504 Gateway Time-out,nginxtime-out
今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示
nginx 504 Gateway Time-out
排查过程:
查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题
执行时间大概在10分钟左右就出现超时
分析:
Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI
通常以下几种情况会导致这个问题:
1.程序在处理大量的数据,或者有死循环之类的问题
2.创建数据库之类的连接因为某些原因连接不上,然后没有超时失败的机制,导致一直在创建连接
3.程序中有一些http请求,这些请求执行时间过长,导致超时
分别查看nginx及php的相关配置查看timeout具体参数
找到nginx配置文件
#修改Nginx配置: fastcgi_connect_timeout 1200s;#原设置为300s fastcgi_send_timeout 1200s;#原设置为300s fastcgi_read_timeout 1200s;#原设置为300s fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k;
这里最主要的设置是前三条,即
fastcgi_connect_timeout #同 FastCGI 服务器的连接超时时间,默认值60秒,它不能超过75秒;
fastcgi_send_timeout #Nginx 进程向 FastCGI 进程发送 request ,整个过程的超时时间,默认值60秒;
fastcgi_read_timeout #FastCGI 进程向 Nginx 进程发送 response ,整个过程的超时时间,默认值60秒;
php配置文件
php.ini
max_execution_time = 300s;PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效。
php-fpm
request_terminate_timeout = 0; #设置单个请求的超时中止时间.设置为0 即一直执行下去直到程序结束 不会超时
修改完上述设置之后 再次执行发现没有出现504超时提示,但是页面空白,并没有文件导出。应该还是php在执行过程中超时
没办法 查看php代码并没有发现有执行时间的设置即:set_time_limit
百度一下php函数执行时间 查到以下内容:
set_time_limit
本函数用来配置该页最久执行时间。默认值是 30 秒,在 php.ini 中的 max_execution_time 变量配置,若配置为 0 则不限定最久时间。
当执行到该函数时,才开始计算。例如,若默认是 30 秒,而在执行到该函数前已执行了 25 秒,而用本函数改为 20 秒,则该页面最长执行时间为 45 秒。
最后在php函数里 添加了这样一行:
set_time_limit(0);
再次执行,结果可以了。
http://www.bkjia.com/PHPjc/1116072.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1116072.htmlTechArticle记一次 nginx 504 Gateway Time-out,nginxtime-out 今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查...
内容总结
以上是互联网集市为您收集整理的记一次nginx504GatewayTime-out,nginxtime-out_PHP教程全部内容,希望文章能够帮你解决记一次nginx504GatewayTime-out,nginxtime-out_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。