504 Gateway Time-out

修改nginx.conf:

     fastcgi_connect_timeout 300;

        fastcgi_send_timeout 300;

        fastcgi_read_timeout 300;

        fastcgi_buffer_size 128k;

        fastcgi_buffers 8 128k;

        fastcgi_busy_buffers_size 128k;

        fastcgi_temp_file_write_size 256k;

之后重启nginx,504网关超时得到缓解,没有再出现类似的情况。


  1. 情况一:由于nginx默认的fastcgi进程响应缓冲区太小造成

    这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误。

  2. 2

    情况一解决办法:

    默认的fastcgi进程响应的缓冲区是8K,我们可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k

    这表示设置fastcgi缓冲区为8块128k大小的空间。

  3. 3

    情况一解决办法(改进):

    在上述方法修改后,如果还是出现问题,我们可以继续修改nginx的超时参数,将参数调大一点,如设置为60秒:

    send_timeout 60;

    经过这两个参数的调整,结果没有再提示“504 Gateway Time-out”错误,说明效果还是挺不错的,问题基本解决。

  4. 4

    情况二:PHP环境的配置问题

    这里我们需要对php-fpm和nginx进行配置修改。因为这种情况下,也会出现“504 Gateway Time-out”错误提示。

  5. 5

    情况二解决办法( php-fpm配置修改):

    将max_children由之前的10改为30,这样操作是为了保证有充足的php-cgi进程可以被使用。

    将request_terminate_timeout由之前的0秒改成60秒,这样使php-cgi进程处理脚本的超时时间提高到60秒,可以防止进程被挂起以提高利用效率。

  6. 6

    情况二解决办法(nginx配置修改):

    为了减少fastcgi的请求次数,尽量维持buffers不变,我们要更改nginx的几个配置项,如下:

    将fastcgi_buffers由4 64k改为2 256k;

    将fastcgi_buffer_size 由64k改为128k;

    将fastcgi_busy_buffers_size由128k改为256k;

    将fastcgi_temp_file_write_size由128k改成256k。

  7. 7

    情况二解决办法修改完,我们需要重新加载php-fpm和nginx的配置,然后再进行测试。之后就没有发现“504 Gateway Time-out”错误,效果也还是不错的!

时间: 2024-08-24 17:06:41

504 Gateway Time-out的相关文章

nginx 504 Gateway Time-out 解决办法

今天用PHP执行一个非常耗时的文件[ps:自己有用,大概3分钟] 但是执行到一分钟后显示 nginx 504 Gateway Time-out 于是修改php-ini.php中的max_execution_time =1200;重启php,还是没用 突然明白,如果是超时是php设置的问题,会报以下错误 Fatal error: Maximum execution time of 60 seconds exceeded in E:\ceshi\001\map.php on line 27 所以问题

WDCP LNMPA和LNMP 504 Gateway time-out错误的解决方法

Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定.当我以为安装完成以后便万事大吉,不料更新网站的时候却出现504 Gateway time-out;起初还以为这是偶然,多次尝试后依然出现这样的情况,因此才决定查找解决方法. LNMP面对504 Gateway time-out 因为504 Gateway time-out是Nginx的专属错误,因此起初我以为是nginx

nginx 504 Gateway Time-out错误排查

一次nginx 504 Gateway Time-out错误排查.解决记录,经过反复检查,发现造成这个问题的原因就是PHP的CURL没有设置超时时间,解决办法只要设置超时时间或者修改一下nginx的配置即可解决. 记一次莫名其妙的网站失去响应排查.之前网站一直是使用nginx做代理后端的apache运行php来提供服务.apache经常会不定期不定时间的出现不能服务失去响应,然后nginx出现"504 Gateway Time-out"查看错误日志也看不到任何东西,以为是apache的

Nginx错误提示:504 Gateway Time-out解决方法

朋友说504 Gateway Time-out的错误提示与nginx本身是没有任何关系的我们可以通过fastcgi配置参数的调整进行解 决. 修改 php-fpm 配置文件: 1.把 max_children 根据系统修改下,保证有充足的php-cgi进程可以被使用; 修改php-fpm配置文件增加php-cgi进程数量 修改php-cgi进程数: 代码如下 复制代码 vi /usr/local/php/etc/php-fpm.conf 找到: <value name="max_child

解决504 Gateway Time-out(nginx)

504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站 我遇到这个问题是在需要插入一万多条数据时候遇到的 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K默认的fastcgi进程响应的缓冲

解决 502、504 Gateway Time-out(nginx)

一.504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站 我遇到这个问题是在升级discuz论坛的时候遇到的 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out 现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K 默认的fastcgi进程

LNMP环境出现”504 gateway time-out”错误的解决方案

今天下午在调试测试VPS机器的时候,出现"504 gateway time-out"错误提示.VPS是安装的LNMP一键安装包,关于这个错误之前还没有见过,网上看到比较多的是502错误,对于504的错误还是第一次遇到.于是乎,肯定要发挥网络资源的共享特点,搜索看是否有出现过的,并且找出解决方法. 因为yd631.com测试空间是安装的nginx,所以可能是这里的问题,我们需要找到:/usr/local/nginx/conf/nginx.conf 位置的文件,然后针对下面的参数进行设置.

如何解决“504 Gateway Time-out”错误

做网站的同学经常会发现一些nginx服务器访问时候提示504 Gateway Time-out错误,一般情况下是由nginx默认的fastcgi进程响应慢引起的,但也有其他情况,这里我总结了一些解决办法供大家参考. 方法/步骤 情况一:由于nginx默认的fastcgi进程响应缓冲区太小造成 这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误. 情况一解决办法: 默认的fastcgi进程响应的缓冲区

Nginx报出504 Gateway Timeout错误2

昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504 Gateway Timeout错误 经观察,发现大约30秒时超时,php.ini中执行时间配置已经是300秒: 复制代码代码如下: max_execution_time = 300 再查nginx的相关配置,无果. 写了一个php的测试页再测: 复制代码代码如下: echo 'aaa';set_time_limit(0);sleep(40);echo 'aa'; 依然超时,可以确定set_time_limit这个函数