502 Bad Gateway(Nginx) 查看nginx日志有如下内容

本文记录了一次解决Nginx无法连接到PHP-FPM的问题过程,主要原因是由于权限设置不当导致的连接失败。通过调整PHP-FPM配置文件中的监听者和组设置,最终解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2016/09/01 09:49:41 [error] 79464#79464: *3 user "nagios" was not found in "/usr/local/nagios/etc/htpasswd.users", client: 192.168.1.209, server: localhost, request: "GET / HTTP/1.1", host: "192.168.1.5"
2016/09/01 09:49:45 [error] 79464#79464: *3 user "nagios" was not found in "/usr/local/nagios/etc/htpasswd.users", client: 192.168.1.209, server: localhost, request: "GET / HTTP/1.1", host: "192.168.1.5"
2016/09/01 09:49:51 [crit] 79464#79464: *3 connect() to unix:/tmp/phpfpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.1.209, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/phpfpm.sock:", host: "192.168.1.5"
2016/09/01 09:49:51 [error] 79464#79464: *3 open() "/usr/local/nagios/share/favicon.ico" failed (2: No such file or directory), client: 192.168.1.209, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.1.5"
2016/09/01 09:49:51 [error] 79464#79464: *3 open() "/usr/local/nagios/share/favicon.ico" failed (2: No such file or directory), client: 192.168.1.209, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.1.5"

 

前面两个是因为密码不对

第二个说是connect() to unix:/tmp/phpfpm.sock failed  重点是:(13: Permission denied)

后面的错误是因为受到[crit]的影响而来的

这里呢,上次碰到过一次,不过也弄了好久,

这一次有点印象,就很容易找到原因,并且修改回来


 

开始修改文件了--------------------------

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

查找phpfpm.sock这一向,发现这个sock在/tmp下面,

[root@dep5 ~]# ll /tmp/phpfpm.sock
srw-rw---- 1 root root 0 9月   1 08:30 /tmp/phpfpm.sock

发现phpfpm.scok的属主属组都是root用户,并且权限为660

而且源码安装PHP和Nginx指定的用户是daemon,daemon,根本没权限查看和修改这个sock文件

 

解决一方案:

vim /usr/local/php/etc/php-fpm.conf

查找下面那两个

 

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
;                 mode is set to 0660

listen.owner=****

listen.group=****

将那listen.owner和listen.group注释取消掉,并且改成nginx用户

或者

将 ;listen.mode = 0660 注释取消的,直接改成777得了(^_^)
解决方案二:

chmod 777 /tmp/phpfpm.sock  

#PS:我没试过这个方案,但觉得可行,但是这里还有个问题,当把php-fpm重启的时候,权限又被自己改回来了,。。。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值