8. 08.

504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站

我遇到这个问题是在升级discuz论坛的时候遇到的

一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点
在nginx.conf里, 加入:

fastcgi_buffers 8 128k

这表示设置fastcgi缓冲区为8×128k
当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:

send_timeout 60;

我只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错, 但是也可能是由于其他的原因, 目前关于nginx的资料不是很多, 很多事情都需要长期的经验累计才有结果, 期待您的发现哈!


作者: hao32 | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://www.hao32.com/webserver/159.html

Tags: , ,

有7条 对 „解决504 Gateway Time-out(nginx)“ 的评论

  1. 林红削 发表评论说:

    dfgtgthth

  2. 林红削 发表评论说:

    dfgtgthth

  3. moonle 发表评论说:

    伙的网站也出现过这样的情况。学习了

  4. 完颜平 发表评论说:

    朋友你好!我对于电脑不是太懂,只是要经常用到,在工作中,或者娱乐中,我经常在娱乐的时候看到这个504 Gateway Time-out,对关于你发表的个人日志:解决504 Gateway Time-out(nginx),我看过了,但是我有1点没弄清楚,应该说是你没有说明白的,现在我就这个问题引出一段话:

    你说:“现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
    默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点

    在nginx.conf里, 加入:

    fastcgi_buffers 8 128k

    这表示设置fastcgi缓冲区为8×128k
    当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:

    send_timeout 60;”
    对于这句话我不清楚你是怎么做的,你是我的电脑里面的什么地方怎么做的,如何操作,怎么样把他加入到你所说的那个位置,那个位置又在哪里,你可不可以说的再明白些,谢谢!!

  5. 林红削 发表评论说:

    ls无知无畏啊

  6. admin 发表评论说:

    -_-! 兄弟,建议你想去弄明白什么是client,什么是server

  7. 笨鸟一个 发表评论说:

    我用的是dedecms生成500篇文章以上经常出现504

    用您的方法 还是解决不了

    找了很多文章都是一样 :(

发表评论: