阿里云
发表主题 回复主题
  • 371阅读
  • 3回复

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

级别: 总版主
发帖
7119
云币
15618

!]c]:ed\C  
1.问题分析 c)H (w  
nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时。 -dX{ R_*  
   ?v-Y1j  
通常有以下几种情况导致 Q\(VQ1c  
fQ>=\*b9x^  
|,zcrOo]  
1.程序在处理大量数据,导致等待超时。 v(ABZNIn  
2.程序中调用外部请求,而外部请求响应超时。 $Pa7B]A,Ae  
3.连接数据库失败而没有停止,死循环重新连。 Lg[v-b=?I  
t;BvKH77  
Y|ONCc  
出现这种情况,我们可以先优化程序,缩短执行时间。另一方面,可以调大nginx超时限制的参数,使程序可以正常执行。 !eb} jL  
nya-Io.  
|~'D8 g:Ak  
对于访问超时的设定,nginx与php都有相关的设置,可以逐一进行修改 =n $@  
B<.XowT'  
Z2z"K<Z W  
`c 3IS5  
jO'+r'2B9  
f"XFf@!  
&cj/8A5-  
2.解决方法 -ya0!D  
nginx配置 C N9lK29F)  
L||_Jsu  
?h`Ned0P  
nginx.conf中,设置以下几个参数,增加超时时间 ibDMhW$n  
M1._{Jw5  
n^QOGT.s6`  
fastcgi_connect_timeout X|.M9zIx  
fastcgi连接超时时间,默认60秒 x<) %Gs}tb  
bS 'a)  
3#>;h  
fastcgi_send_timeout mT N6-V  
nginx 进程向 fastcgi 进程发送请求过程的超时时间,默认值60秒 uA;3R\6?  
t3 AZS0  
\ iL&Aq}BO  
fastcgi_read_timeout  & y1' J  
fastcgi 进程向 nginx 进程发送输出过程的超时时间,默认值60秒 AYHfe#!  
B`Q.<Lqu  
I\R5Cb<p  
]2n&DJu  
#8;|_RU  
php配置 7^k`:Z  
b6D}GuW  
dfB#+wh  
php.ini +Q, 0kv  
=YX/]g|9K  
mi|O)6>8n  
max_execution_time ]UnZc  
php脚本最大执行时间 a/+tsbw  
   ZTG*|  
php-fpm D={|&:`L e  
qs6yEuh#  
{! RW*B  
request_terminate_timeout Ah)OyO6  
设置单个请求的超时时间 'MKkC(]4  
/:>f$k4~h  
5VWXUNe@_q  
   CAY^ `K!  
php程序中可加入set_time_limit(seconds)设置最长执行时间 Kp"mV=RG2T  
'{kNXCnZ  
k%QhF]  
例如 set_time_limit(0) 表示不超时。
级别: 程序猿
发帖
420
云币
644
只看该作者 沙发  发表于: 09-02
{3\{aZ8)  
之前论坛中好像有人在问类似的问题,看了这个应该能解决了。
#|acRZ9 }  
WD?COUEox  
[ 此帖被服务器云在2018-09-19 10:12重新编辑 ]
级别: 小白
发帖
18
云币
18
只看该作者 板凳  发表于: 09-04
Renginx 出现504 Gateway Time-out的解决方法
请问百度蜘蛛连接超时这个怎么解决,我都折腾了快一个月了,升级配置升级带宽都无用,另外我怎么不能发帖了,版主
级别: 小白
发帖
11
云币
13
只看该作者 地板  发表于: 10-05
Renginx 出现504 Gateway Time-out的解决方法
学习中
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个