89

尝试部署我的第一个门户。

当我通过浏览器发送请求时,我在浏览器中收到 502 网关超时错误

当我检查日志时,我收到了这个错误

 2014/02/03 09:00:32 [error] 16607#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 14.159.131.19, server: foo.com, request: "GET HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "22.11.180.154"

是否有任何与权限相关的问题

4

3 回答 3

103

我认为该解决方案无论如何都行不通,因为您会在错误日志文件中看到一些错误消息。

解决方案比我想象的要容易得多。

简单地说,打开以下路径到您的 php5-fpm

sudo nano /etc/php5/fpm/pool.d/www.conf

或者如果您是管理员“root”

nano /etc/php5/fpm/pool.d/www.conf

然后找到这一行并取消注释:

listen.allowed_clients = 127.0.0.1

此解决方案将使您能够在 vhost 块中使用listen = 127.0.0.1:9000

像这样:fastcgi_pass 127.0.0.1:9000;

进行修改后,您只需要重新启动或重新加载 Nginx 和 Php5-fpm

php5-fpm

sudo service php5-fpm restart

或者

sudo service php5-fpm reload

Nginx

sudo service nginx restart

或者

sudo service nginx reload

从评论:

还评论

;listen = /var/run/php5-fpm.sock 

并添加

listen = 9000
于 2014-06-13T05:30:14.263 回答
0

当我在 NGINX conf 中编写两个上游时遇到了同样的问题

upstream php_upstream {
    server unix:/var/run/php/my.site.sock;
    server 127.0.0.1:9000;
}

...

fastcgi_pass php_upstream;

但在/etc/php/7.3/fpm/pool.d/www.conf我只听了套接字

listen = /var/run/php/my.site.sock

所以我只需要套接字,没有任何127.0.0.1:9000,我只是删除了上游的 IP+端口

upstream php_upstream {
    server unix:/var/run/php/my.site.sock;
}

这可以在没有上游的情况下重写

fastcgi_pass unix:/var/run/php/my.site.sock;
于 2020-12-18T15:46:13.847 回答
0

这可能对某人有用:

如果您在 Mac 上安装了多个版本的 PHP,例如 8.0 和 7.4,并且您尝试了多个选项但仍然收到 502 网关错误,请尝试检查您的代客如何与您的 PHP 版本和 Nginx 连接。

valet use php@7.4如果那是您使用的版本,则从终端运行。当前版本将被取消链接,新版本链接然后 Nginx 和 php@7.4 将重新启动。

于 2021-10-03T08:54:40.680 回答