Nginx报504 gateway timeout错误的解决方法

服务器技术 2 个月前 2条评论

,

问题情况:504 Gateway Time-out

分析原因:Nginx报504 gateway timeout错误引起,一个是文件配置问题,另一个是相关处理时长了,最后也有可能是资源不足导致了,下面我们一起来看看。

解决办法:
1、修改Nginx的服务器配置
如果实在是优化不了了,可以把Nginx的超时时间上调。
看看时间是否符合要求,在nginx里面的三个参数:

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

以上的单位是秒。

譬如:

location ~ / {
     proxy_pass http://xxx.xxx.xxx.xxx:8080;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_connect_timeout 300s;
     proxy_send_timeout 300s;
     proxy_read_timeout 300s;
}

2、更改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的情况,算是达到效果了。

原文:https://blog.csdn.net/luozi007/article/details/76152933

支付宝打赏微信打赏

如果此文对你有帮助,欢迎打赏作者。

2条评论

  1. #1
    王光卫博客

    王光卫博客

    1 月前 Google Chrome 127 Mac OS X 10.15 -@

    这段时间遇到几个网站都出现504

    来自四川
    • 皇家元林

      皇家元林

      1 月前 Wordpress App 25 iPhone iOS 17.6 -@

      @王光卫博客 这个错误好像很少出现,最近在试着自己配置 lnmp 环境,默认的情况下就会出现 504 错误。还有就是反代也会有这个错误。

      来自安徽

发表评论

欢迎回来 (打开)

(必填)