nginx鉴权网关
HTTP504-GatewayTimeout⽹关超时
HTTP 504 - Gateway Timeout ⽹关超时
错误说明:⽹关超时,服务器响应时间,达到超出设定的范围
原因1:后端电脑之间 IP 通讯缓慢⽽产⽣
解决办法:
如果您的 Web 服务器由某⼀⽹站托管,只有负责那个⽹站设置的⼈员才能解决这个问题。
原因2:由于nginx默认的fastcgi进程响应的缓冲区太⼩造成的错误
解决办法:
⼀般默认的fastcgi进程响应的缓冲区是8K,这时可以设置⼤⼀点,在f⾥,加⼊:fastcgi_buffers 8 128k这表⽰设置fastcgi缓冲区为8块128k⼤⼩的空间。当然如果在进⾏某⼀项即时的操作, 可能需要nginx的超时参数调⼤点, 例如设置成60秒:send_timeout 60;
经过这两个参数的调整,⼀般不会再提⽰“504 Gateway Time-out”错误,问题基本解决。
原因3:PHP环境的配置问题
解决办法:
更改php-fpm的⼏处配置:把max_children由之前的10改为现在的30,这样就可以保证有充⾜的php-cgi进程可以被使⽤;把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程处理脚本的超时时间就是60秒,可以防⽌进程都被挂起,提⾼利⽤效率。接着再更改nginx的⼏个配置项,减少FastCGI的请求次数,尽量维持buffers不变: fastcgi_buffers由 4 64k 改为 2 256k;
fastcgi_buffer_size 由 64k 改为 128K; fastcgi_busy_buffers_size 由 128K 改为 256K; fastcgi_temp_file_write_size 由 128K 改为256K。重新加载php-fpm和nginx的配置,再次测试,如果没有出现“504 Gateway Time-out”错误,问题解决。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。