首页 > 代码库 > Nginx出现504 Gateway Time-out的解决方案

Nginx出现504 Gateway Time-out的解决方案

使用Nginx作为WEB服务器时,经常会遇到504 Gateway Time-out的错误提示。经过研究,基本可以确定多数情况下这个错误与Nginx本身无关,问题的根源在于Nginx将PHP的解析提交给后端 php-fpm处理的过程中,由于fastcgi参数配置不当造成的超时等一系列的问题。

通过查询相关资料,总结了fastcgi配置参数的调整方案,供大家参考,详细如下:

 

修改 php-fpm 配置文件:

1.把 max_children 改为64,保证有充足的php-cgi进程可以被使用;
2.把 request_terminate_timeout 改为60s,这样php-cgi进程处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。

修改 nginx.conf 文件,如下:

fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffers 4 256k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

 

Nginx出现504 Gateway Time-out的解决方案