阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 1588阅读
  • 3回复

[分享]nginx 出现504 Gateway Time-out的解决方法

级别: 总版主
发帖
7170
云币
15705

U/9xO"b{.  
1.问题分析 gKoB)n<[  
nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时。 [E<NEl *  
   *Z\B9mx  
通常有以下几种情况导致 {Qbg'|HO=l  
3*x_S"h  
<y[LdB/a  
1.程序在处理大量数据,导致等待超时。 KGb:NQ=O6i  
2.程序中调用外部请求,而外部请求响应超时。 1"tyxAo\  
3.连接数据库失败而没有停止,死循环重新连。 +*&bgGhT  
ScOiOz:Ha  
n4A_vz  
出现这种情况,我们可以先优化程序,缩短执行时间。另一方面,可以调大nginx超时限制的参数,使程序可以正常执行。 7u7`z%  
Nki08qZ[  
WjLy7&  
对于访问超时的设定,nginx与php都有相关的设置,可以逐一进行修改 F6XrJ?JM  
-Uj)6PzGu  
Kz>bfq7  
SQ&nQzL  
iQs^2z#Bd  
-;]m4R)z  
u~b;m  
2.解决方法 ?RW7TWf  
nginx配置 _v=S4A#tF  
,',  S  
) 0NKL:u  
nginx.conf中,设置以下几个参数,增加超时时间 HK}br!?  
Ub[SUeBGH  
5PF?Eq   
fastcgi_connect_timeout aE aU_f /  
fastcgi连接超时时间,默认60秒 U'4j+vUc  
YkWv*l  
@QOlo -u  
fastcgi_send_timeout jGm`Qg{<  
nginx 进程向 fastcgi 进程发送请求过程的超时时间,默认值60秒 >qE f991SZ  
j8Pqc]  
r_R( kns  
fastcgi_read_timeout 0FN;^hP5|  
fastcgi 进程向 nginx 进程发送输出过程的超时时间,默认值60秒 K Eda6zZH  
QK~44;LVIJ  
5:R$xgc  
L i g7Ac,  
 ujin+;1  
php配置 x."R_>  
pVm]<jO  
0Y>5&  
php.ini hZZ  
}H5~@c$  
WHF[l1  
max_execution_time Yamu"#  
php脚本最大执行时间 %3%bRP  
   /]1$Soo  
php-fpm \=1$$EDS9  
Wg5<@=x!G  
\k4em{K  
request_terminate_timeout ~:JoKm`vU  
设置单个请求的超时时间 8(zE^W,[8"  
vZiuElxKi  
G'U! #  
   WEaG/)y  
php程序中可加入set_time_limit(seconds)设置最长执行时间 =?3b3PZn  
gf ?_tB0C  
+dG3/vV  
例如 set_time_limit(0) 表示不超时。
级别: 程序猿
发帖
497
云币
745
只看该作者 沙发  发表于: 2018-09-02
N(l  
之前论坛中好像有人在问类似的问题,看了这个应该能解决了。
 y 2C Jk~  
Q*N{3G!  
[ 此帖被服务器云在2018-11-09 22:01重新编辑 ]
级别: 小白
发帖
18
云币
18
只看该作者 板凳  发表于: 2018-09-04
Renginx 出现504 Gateway Time-out的解决方法
请问百度蜘蛛连接超时这个怎么解决,我都折腾了快一个月了,升级配置升级带宽都无用,另外我怎么不能发帖了,版主
级别: 小白
发帖
11
云币
13
只看该作者 地板  发表于: 2018-10-05
Renginx 出现504 Gateway Time-out的解决方法
学习中
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)