nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > nginx报错connect() failed

nginx报错connect() failed(111: Connection refused)while connecting to upstream解决方法

作者:北城旧港丶

本文主要介绍了nginx报错connect() failed(111: Connection refused)while connecting to upstream解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

公司网站搬迁到新服务器后,发现站点访问不了,network里面提示502,查看相关的server配置,感觉没有什么问题,经过测试发现txt、html、等非php文件能够直接访问,也就是php访问不了,初步断定有可能是php-fpm没有安装或者没有启动导致。

首先判断php-fpm是否已经安装,没有安装的情况就需要先安装php-fpm,安装可以参数相关资料。

确定好服务器已经安装了php-fpm之后,查看是否已经启动或者直接重启:

[root@xfzx /]# /usr/local/php/sbin/php-fpm start

启动完成后,重启nginx:

[root@xfzx /]# service nginx restart

然后刷新网站页面,但是并没有成功,依然报错。

此时我们先在查看下错误日志 error.log,发现里面都是清一色的报错:

connect() failed (111: Connection refused) while connecting to upstream … fastcgi://127.0.0.1:9000 …

提示的意思就是说连接不上9000端口,这就奇怪了,其实在平时配置nginx的server里面,大部分应该都是配置127.0.0.1:9000 作为分发端口。

现在需要查看一下是否有监听9000端口:

[root@xfzx/]# netstat -ant | grep 9000

发现并没有监听到,但实际上我们的php-fpm已经启动,那现在怎么办呢?
我们去查看一下php-fpm.conf里面的配置:

[root@xfzx /]# vim  /usr/local/php/etc/php-fpm.conf

找到listen:

/tmp/php-cgi.sock

此时我们需要根据配置文件的listen地址做对应的修改:

 location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

改成:

location ~ \.php$ {
        fastcgi_pass   unix:/tmp/php-cgi.sock;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

到此这篇关于nginx报错connect() failed(111: Connection refused)while connecting to upstream解决方法的文章就介绍到这了,更多相关nginx报错connect() failed内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文