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

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

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

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


答案 1

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

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

简单地说,打开以下路径到你的 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

恩金克斯

sudo service nginx restart

sudo service nginx reload

从评论中:

另注

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

并添加

listen = 9000

答案 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

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

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

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

fastcgi_pass unix:/var/run/php/my.site.sock;

推荐