# 504

> 错误代码: "504 Gateway timeout "

> 错误原因1: [后端电脑之间 IP 通讯缓慢而产生] "解决办法：如果您的 Web 服务器由某一网站托管， 只有负责那个网站设置的人员才能解决这个问题。"

> 错误原因2: [由于nginx默认的fastcgi进程响应的缓冲区太小造成的错误] "解决办法：一般默认的fastcgi进程响应的缓冲区是8K，这时可以设置大一点，在nginx.conf里，加入：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”错误，问题解决。"

> 温馨提醒: [如果以上解决办法] "全部尝试后依然无法解决问题，请到https://www.xp.cn论坛中发帖寻求帮助。"