nginx 出现failed (13: Permission denied)
程序员文章站
2022-07-12 19:18:29
...
问题
系统cent7,nginx运行出现403。查看/var/log/nginx/error.log错误如下
[error] 1028#1028: *3 opendir() "/xxx/xxx/xxx" failed (13: Permission denied), client: x.x.x.x, server: xxxx, request: "GET / HTTP/1.1", host: "x.x.x.x"
解决
显然是权限出了问题。
仔细查看后,发现同步过来的数据是属于用户www-data,而cent7下的nginx默认以nginx用户运行,且cent7下没有www-data用户。
遂新建www-data:
groupadd -g 33 www-data
useradd -g www-data -m -s /sbin/nologin -u 33 -d /var/www www-data
更改/etc/nginx/nginx.conf,将
user nginx;
改为:
user www-data;
我觉得稳了,让我们重启看看:
systemctl restart nginx
结果错误依旧。。。。
google之,发现是selinux的锅:
chcon -t httpd_sys_content_t -R /home/path/site
搞定
至于selinux的具体使用方法有些复杂,各位移步自己学习吧。
题外话
解决方案来自这里,有个很有意思的情况:
题主采纳了关闭selinux的方案,这和直接设置nginx的user为root的解决方案有异曲同工之妙。
中间两个有点答非所问,似乎没仔细看题主的情况。而靠谱的解决方案排最后,甚至净赞同数是-1.。。。。。
推荐阅读
-
Nginx应对Permission denied和File not found的配置
-
Nginx报403 forbidden错误 (13: Permission denied)的解决办法
-
Nginx中报错:Permission denied与Connection refused的解决
-
centOS环境的nginx+unicorn访问socket文件总是报(13 permission denied)
-
git clone出现Permission denied (publickey)解决办法
-
nginx 出现failed (13: Permission denied)
-
nginx在宿主机可以访问但在外网无法访问日志报Permission denied while connecting to upstream
-
详解Nginx 13: Permission denied 解决方案
-
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/itsdangerous' C
-
Android动态申请权限后提示open failed: EACCES (Permission denied)