Nginx 13: Permission denied 解决方案

版权声明:转载请标明地址,以便溯源哦 https://blog.csdn.net/AnonymKing/article/details/89791593

0x00 问题详情

  • 今天刚换了一个服务器按照以往的经验配置好Nginx代理,然后迫不及待地打开浏览器查看部署情况,结果就看到了大大地 403 ,内心几乎是崩溃的 T_T
  • 查看Nginx错误日志(vim /var/log/nginx/error.log),报错情况如下:
2019/05/03 20:57:19 [error] 30589#30589: *68 "/home/root/blog/index.html" is forbidden (13: Permission denied), client: 222.175.198.19, server: localhost, request: "GET / HTTP/1.1", host: "101.132.136.220", referrer: "http://101.132.136.220/"
  • 附:我的服务器是CentOS7,不同的系统日志路径可能会有所不同,你可以在Nginx配置中看到日志路径



0x01 解决过程

  • Permission denied 从字面意思以看就知道是权限问题,用 ps -ef | grep nginx 查看一下进程:
root     15321     1  0 12:09 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx    31351 15321  0 21:09 ?        00:00:00 nginx: worker process
root     31357 25391  0 21:09 pts/3    00:00:00 grep --color=auto nginx
  • 发现问题所在了,Nginx进程的用户是nginx,而我创建的博客网站的用户是root,这个地方按理来说有两种解决方案,一是把文件夹的权限降低,可以不知道为什么没有成功,于是退而求其次,把Nginx的用户更改为当前用户(这里为root)就可以了,修改Nginx配置文件 vim /etc/nginx/nginx.conf
# nginx.conf

# user  nginx;
user  root;
# 上面提到的日志文件
error_log  /var/log/nginx/error.log warn;
  • 最后一定要重启Nginx服务来使得配置生效:nginx -s reload

  • OK,大功告成,可以正常访问了。

展开阅读全文

没有更多推荐了,返回首页