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