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,大功告成,可以正常访问了。