
要解决这个问题,我们需要确保在Nginx的配置文件中正确地指定了PHP-FPM的监听端口。以下是解决这个问题的步骤:
1. 打开Nginx的配置文件。通常,这个文件位于`/etc/nginx/nginx.conf`或者`/etc/nginx/sites-available/`目录下的某个配置文件中。
2. 找到与PHP-FPM相关的配置部分。这通常在`server`块中,并且包含`fastcgi_pass`指令。
3. 确保`fastcgi_pass`指令后面跟着正确的PHP-FPM监听地址和端口。例如:
nginx
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
或者,如果你使用的是TCP端口,它可能看起来像这样:
nginx
fastcgi_pass ***.*.*.*:9000;
4. 如果你不确定PHP-FPM的监听端口,你可以查看PHP-FPM的配置文件`/etc/php/7.4/fpm/pool.d/***`(这里的路径可能会根据你的PHP版本和安装路径有所不同)。在这个文件中,你可以找到`listen`指令,它指定了PHP-FPM监听的端口或Unix套接字。
5. 保存配置文件的更改,并重新加载Nginx配置以使更改生效。你可以使用以下命令:
bash
sudo systemctl reload nginx
或者,如果你不使用systemd,你可以使用:
bash
sudo service nginx reload
6. 检查Nginx的错误日志文件,通常位于`/var/log/nginx/error.log`,以确保没有其他错误信息。
通过以上步骤,你应该能够解决“no port in upstream 'php-fpm'”的错误。如果问题仍然存在,请检查PHP-FPM的配置文件是否正确,以及Nginx配置文件中的其他相关指令是否正确无误。
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv183257