解决 Nginx 504 Gateway Time-out


当 Nginx 发生 504 Gateway Time-out 时, 一般上原因是一些程式执行需时较长时间, 当执行时间超出 Nginx 的限制时, 便会出现 504 Gateway Time-out 问题, 如果排除了程式上的问题, 解决方法是将执行时限延长 (或者升级主机的硬件也可以)。

首先开启 Nginx 的网站设定档, Nginx 将网站设定档都放在 /etc/nginx/ 目录下, 下面以 www.phpini.com 为例:

# vi /etc/nginx/site-available/www.phpini.com.conf

在 “location ~ \.php$ {” 段落, 最后加入这行:

然后开启 /etc/php5/fpm/php.ini:

# vi /etc/php5/fpm/php.ini

找到以下一行:

#max_execution_time = 30

改成:

max_execution_time = 180

上面的 180 是秒数, 即 3 分钟。设定完成后储存盘案, 然后重新启动 Nginx 及 PHP-FPM:

RHEL 7 / CentOS 7:

# systemctl restart nginx
# systemctl restart php-fpm.service

RHEL 6 / CentOS 6:

# service nginx restart
# service php-fpm restart

Ubuntu:

# restart nginx
# restart php5-fpm

One Response

  1. 小克 29 November 2018

Leave a Reply