在Ubuntu上,如果PHP-FPM连接超时,可以尝试以下方法来解决问题:
找到PHP-FPM的配置文件php-fpm.conf
或www.conf
,通常位于/etc/php/{版本号}/fpm/
目录下。例如,如果你的PHP版本是7.4,那么配置文件可能位于/etc/php/7.4/fpm/
。
使用文本编辑器打开www.conf
文件,找到以下参数并进行调整:
request_terminate_timeout
:这个参数用于设置请求超时时间。你可以将其设置为一个较大的值,例如300(单位:秒)。修改后保存并关闭文件。request_terminate_timeout = 300s
fastcgi_read_timeout
:这个参数用于设置FastCGI读取超时时间。你可以将其设置为一个较大的值,例如300(单位:秒)。修改后保存并关闭文件。fastcgi_read_timeout = 300
在修改了配置文件后,需要重启PHP-FPM服务以使更改生效。在终端中运行以下命令:
sudo systemctl restart php{版本号}-fpm
将{版本号}
替换为你的PHP版本号。例如,对于PHP 7.4,命令如下:
sudo systemctl restart php7.4-fpm
如果你使用Nginx作为Web服务器,请确保Nginx的配置文件中的fastcgi_pass
指令指向正确的PHP-FPM监听地址和端口。例如:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
在这个例子中,fastcgi_pass
指向了UNIX套接字/run/php/php7.4-fpm.sock
。请根据你的实际情况进行调整。
修改Nginx配置文件后,运行以下命令重启Nginx服务:
sudo systemctl restart nginx
确保防火墙允许PHP-FPM服务的通信。如果使用UFW防火墙,请运行以下命令允许PHP-FPM的默认端口(通常是9000):
sudo ufw allow 9000
完成以上步骤后,PHP-FPM连接超时问题应该得到解决。如果问题仍然存在,请检查应用程序代码以确保没有长时间运行的操作或死循环。