nginx:连接到上游时连接()失败(111:连接被拒绝)

Posted

技术标签:

【中文标题】nginx:连接到上游时连接()失败(111:连接被拒绝)【英文标题】:nginx: connect() failed (111: Connection refused) while connecting to upstream 【发布时间】:2014-02-26 18:18:30 【问题描述】:

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

当我通过浏览器发送请求时,我在浏览器中收到 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"

有没有权限相关的问题

【问题讨论】:

请添加信息以帮助理解问题、您的配置、您做了什么?哪些链接被破坏,如果有任何工作,等等 我的问题解决了....我的服务器上没有安装php 见:***.com/questions/15852884/nginx-connect-failed-error @lucky 所以我认为最好关闭这个问题。 【参考方案1】:

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

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

只需打开以下路径到您的 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

此解决方案将使您能够在您的虚拟主机块中使用 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

来自cmets:

也评论一下

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

并添加

listen = 9000

【讨论】:

listen = 9000;listen = /var/run/php5-fpm.sock 在 CentOS 7 上,这个文件对我来说位于 /etc/php-fpm.d/www.conf,我必须添加 listen = 9000 并注释掉 listen = /var/run/php-fpm/php-fpm.sock 为什么不将 NGINX 配置更改为使用套接字而不是 localhost:9000?通过将fastcgi_pass 行更改为“astcgi_pass unix:/run/php/php7.0-fpm.sock;【参考方案2】:

我在 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;

【讨论】:

【参考方案3】:

这可能对某人有用:

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

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

【讨论】:

以上是关于nginx:连接到上游时连接()失败(111:连接被拒绝)的主要内容,如果未能解决你的问题,请参考以下文章

cookie-cutter django nginx connect() 在连接到上游时失败(111:连接被拒绝),

连接到上游时connect()失败(111:连接被拒绝)

Nginx 错误失败(111:连接被拒绝)同时连接到上游,docker-compose nodejs

Elastic Beanstalk 上的 Docker - 连接到上游时 connect() 失败(111:连接被拒绝)

Django Nginx 和 Gunicorn .sock 在连接到上游时失败(2:没有这样的文件或目录)

NGINX *7060 上游超时(110:连接超时)