有时候需要执行长时间运行的脚本, 因为 nginx 或者 php 配置的原因, 会导致 nginx 报 504 错误:
504 Gateway Time-out
增加脚本执行时长需要同时修改nginx 和php的配置, 具体如下:
首先,需要增加 php 脚本的最大执行时间, 在 php.ini 文件中设置, 默认的时间是 30s. 如果你使用的是 ubuntu, 这个配置文件的配置可能位于:
/etc/php5/fpm/php.ini
如果是centos, 则应该是
/etc/php.ini
需要配置的 key 为:
max_execution_time = 300
如果你使用的是 php-fpm, 你可能还需要修改 php-fpm 的设置, 在 pool.d/ 文件夹下的 www.conf 文件.
request_terminate_timeout = 300
这个值默认是 0, 也就是处于关闭的状态.
最后, 需要对 nginx 进行设置, 需要修改的 key 为:
fastcgi_read_timeout 300;
默认是 300s, 你可以根据需要修改的大一些.