nginx 报错 connect() failed (111: Connection refused) while connecting to upstream

64 篇文章 1 订阅
25 篇文章 0 订阅

公司网站搬迁到新服务器后,发现站点访问不了,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:

/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。访问成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值