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@izwz9glf2r6p2z8ytslvblz /]# /usr/local/php/sbin/php-fpm start


启动完成后,重启nginx:

[root@izwz9glf2r6p2z8ytslvblz /]# 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@izwz9glf2r6p2z8ytslvblz /]# netstat -ant | grep 9000

发现并无监听到,但实际上咱们的php-fpm已经启动,那如今怎么办呢?

咱们去查看一下php-fpm.conf里面的配置:

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


找到listen:

<value name="listen_address">/tmp/php-cgi.sock</value>


此时咱们须要根据配置文件的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。访问成功。



---------------------
做者:ljihe
来源:CSDN
原文:https://blog.csdn.net/ljihe/article/details/78025133
版权声明:本文为博主原创文章,转载请附上博文连接!php

相关文章
相关标签/搜索