Nginx是一款轻量级的Web 主机/反向代理主机及电子邮件(IMAP/POP3)代理主机,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页主机中表现较好。
安装完Nginx+PHP-fpm+Mysql后,跑PHP的应用会经常出现504 Gateway Time-out 或者502 Bad Gateway的情况。
1、程序在处理大量数据,导致等待超时。
2、程序中调用外部请求,而外部请求响应超时。
3、连接数据库失败而没有停止,死循环重新连。
出现这种情况,我们可以先优化程序,缩短执行时间。另一方面,可以调大nginx超时限制的参数,使程序可以正常执行。
1572494421436595.png
美国主机租用出现504的解决方法:
1、nginx配置
nginx 进程向 fastcgi 进程发送请求过程的超时时间,默认值60秒。
fastcgi 进程向 nginx 进程发送输出过程的超时时间,默认值60秒。
2、php配置
php脚本最大执行时间。
设置单个请求的超时时间。
php程序中可加入set_time_limit(seconds)设置最长执行时间。
版权声明:本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。