• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

PHP文件下载,下载失败,Nginx open() nginx/fastcgi_temp/2/10/0000000102“ failed (13: Permission denied)

互联网 diligentman 3小时前 1次浏览

概述

在测试服测试项目时出现文件下载失败
PHP文件下载,下载失败,Nginx open() nginx/fastcgi_temp/2/10/0000000102“ failed (13: Permission denied)

排查问题

经过排查发现Nginx给出报错信息
open() "/home/server/nginx/fastcgi_temp/2/10/0000000102" failed (13: Permission denied) while reading upstream
Nginx提示我们没有权限操作
PHP文件下载,下载失败,Nginx open() nginx/fastcgi_temp/2/10/0000000102“ failed (13: Permission denied)
然后我们进入目录/home/server/nginx检查fastcgi_temp文件所有者,我们的是root组的root用户
PHP文件下载,下载失败,Nginx open() nginx/fastcgi_temp/2/10/0000000102“ failed (13: Permission denied)
我们再检查Nginx worker的用户组及用户名

ps -ef | grep nginx
# 我们可以看到nginx的worker进程是www用户
root       80246       1  0 10:37 ?        00:00:00 nginx: master process /home/server/nginx/sbin/nginx
www        80247   80246  0 10:37 ?        00:00:00 nginx: worker process
root       82877   82840  0 13:56 pts/7    00:00:00 grep --color=auto nginx
# 查看www用户所在的组,以及组内成员
groups www
#我们的是www用户组的www用户
www:www

解决问题

我们在执行下载时,nginx worker 进程在给fastcgi_temp写入缓存时没有权限
因此,我们只需要给fastcgi_temp目录修改权限为nginx的启动用户www:www

chown -R www:www fastcgi_temp/


喜欢 (0)