如果 nginx + php 出现 502 报错.note

noteId: WEBda69a36cc4e4908a992d57f92a81a01d · 原始路径:/ALL/Linux - A模块/服务配置/Nginx、Nginx反向代理 - 80端口TCP/如果 nginx + php 出现 502 报错.note · 图片:4 · 附件待处理:0

 
·访问报错:
 
 
 
这里使用的是 php8.2-fpm
 
 
首先查看 error.log
cat /var/log/nginx/error.log
这里说,连接到 /run/php/php8.2-fpm.sock 失败,原因是权限拒绝,那么这就很好办了
 
可以看到, php8.2-fpm.sock 的 所属用户,和组 是 www-data
而题目要求将 Nginx 的 进程用户和组 更改为 webuser
 
那么问题原因就出来了,因为 nginx 的进程用户和组 不是 php8.2-fpm 默认的 www-data,因此权限被拒绝
 
 
·解决:
cd /run/php
chown -R webuser:webuser .    //将文件和目录的所属用户和组更改为 Nginx 的进程用户和组即可。
 
再次访问:
 
 
 
·原因:
因为题目要求修改 Nginx 的进程用户和组为 webuser,而 php8.2-fpm 软件包,下载后,默认的 数组和所属用户为:www-data,且对于其它人的权限是,不可读也不可写,而 Nginx的webuser 没有权限去访问 php8.2-fpm 的文件,因此访问报错
 
 
 
·注意:
解决好之后,当安装了 WebMail(roundcube)之后,该文件的权限又会被更改会 www-data,因此安装完 roundcube之后,还需要再修改一次进程用户和组