Nginx報錯403 forbidden (13: Permission denied)的解決辦法

由於開發需要,在本地環境中配置了LNMP環境,使用的是Centos 6.5 的yum安裝,安裝一切正常,但是由於默認網站文件夾比較奇葩,於是把網站文件用mv命令移動到了新的目錄,並相應修改了配置文件,並重啓Nginx。

那麼好,問題來了!本以爲重啓就OK了。居然報個“403 is forbidden“的錯誤。。查看/var/log/nginx/error.log日誌顯示:xxx 403 forbidden (13: Permission denied)錯誤。我勒個去~

引起nginx 403 forbidden通常是三種情況:一是缺少索引文件,二是權限問題,三是SELinux狀態。

一、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm這行中的指定的文件。

  1. server {
  2. listen 80;
  3. server_name localhost;
  4. index index.php index.html;
  5. root / var/www;
  6. }

如果在/ var/www下面沒有index.php,index.html的時候,直接訪問域名,找不到文件,會報403 forbidden。

二、權限問題,如果nginx沒有web目錄的操作權限,也會出現403錯誤。

解決辦法:修改web目錄的讀寫權限,或者是把nginx的啓動用戶改成目錄的所屬用戶,重啓Nginx即可解決

  1. chmod -R 755 / var/www

三、SELinux設置爲開啓狀態(enabled)的原因

首先查看本機SELinux的開啓狀態,如果SELinux status參數爲enabled即爲開啓狀態

  1. /usr/sbin/ sestatus -v

或者使用getenforce命令檢查

找到原因了,如何關閉 SELinux 呢

1、臨時關閉(不用重啓)

  1. setenforce 0

2、修改配置文件 /etc/ selinux/config,將SELINUX=enforcing改爲SELINUX=disabled

  1. vi /etc/ selinux/config

注意:修改配置文件需要重啓系統 reboot

發佈了13 篇原創文章 · 獲贊 57 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章