对于 Nginx + FastCGI上的504网关超时错误(php-fpm),我们可以修改PHP和nginx的执行超时时间。
配置php
修改 php.ini(CentOS路径是/etc/php.ini)最大执行时间为300秒
max_execution_time = 300
修改 php-fpm配置文件(CentOS路径是/etc/php-fpm.d/www.conf) 请求超时时间为300秒
request_terminate_timeout = 300
linux php重启
https://www.cnblogs.com/niuben/p/13284136.html
检查php进程是否启动
ps -ef | grep php-fpm
杀掉所有 php-fpm 进程
pkill php-fpm
重启php
/usr/sbin/php-fpm
如果有以下报错,说明php-fpm文件夹不存在,手动新建一个文件夹即可,然后再重启php /usr/sbin/php-fpm
ERROR: unable to bind listening socket for address '/run/php-fpm/www.sock': No such file or directory (2)
[04-Nov-2021 11:28:56] ERROR: FPM initialization failed
新建缺失的 php-fpm 文件夹
mkdir /run/php-fpm
最后记得检查 php 进程是否已启动 ps -ef | grep php-fpm
配置nginx
将 fastcgi_read_timeout
添加到如下:
location ~ \.php/ {
if ($request_uri ~ ^(.+\.php)(/.+?)($|\?)) { }
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_NAME $1;
fastcgi_param PATH_INFO $2;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_read_timeout 300;
}
检查nignx配置文件
nginx -t
重启nginx
nginx -s reload