Nginx 13: Permission denied 解決方案

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章