
要解决这个问题,我们需要确保在Nginx的配置文件中正确地指定了PHP-FPM的监听端口。以下是解决这个问题的步骤:
1. 打开Nginx的配置文件。通常,这个文件位于`/etc/nginx/nginx.conf`或者`/etc/nginx/sites-available/`目录下的某个配置文件中。
2. 找到与PHP-FPM相关的upstream块。这个块通常位于`http`块内部,并且以`upstream php-fpm`开头。
3. 检查upstream块中是否指定了端口。如果没有指定端口,或者端口号不正确,你需要添加或修改端口号。例如:
nginx
upstream php-fpm {
server unix:/var/run/php/php7.4-fpm.sock;
}
在这个例子中,我们指定了PHP-FPM的监听端口为`/var/run/php/php7.4-fpm.sock`。请确保这个路径与你的系统中PHP-FPM的sock文件路径相匹配。
4. 保存配置文件的更改。
5. 重新加载Nginx配置以使更改生效。在大多数Linux发行版中,你可以使用以下命令:
bash
sudo systemctl reload nginx
或者
bash
sudo service nginx reload
6. 检查Nginx的错误日志文件,通常位于`/var/log/nginx/error.log`,确保没有新的错误信息出现。
通过以上步骤,你应该能够解决“no port in upstream 'php-fpm'”的错误。如果问题仍然存在,请检查PHP-FPM的配置文件`/etc/php/版本号/fpm/php-fpm.conf`,确保`listen`指令正确无误,并且与Nginx配置文件中的upstream块相匹配。
最后,确保你的PHP-FPM服务正在运行,并且Nginx有权限访问PHP-FPM的sock文件。如果问题仍然无法解决,可能需要进一步检查系统的防火墙设置或其他网络配置。
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv183407