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

时间:2014-02-03 10:06:58

标签: nginx fastcgi php

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

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

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

2 个答案:

答案 0 :(得分:82)

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

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

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

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

或者如果您是管理员根

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

答案 1 :(得分:0)

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

e[-1].filename

但是在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 ,我只是删除了上游的IP +端口

127.0.0.1:9000

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

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