由於開發需要,在本地環境中配置了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這行中的指定的文件。
- server {
- listen 80;
- server_name localhost;
- index index.php index.html;
- root / var/www;
- }
如果在/ var/www下面沒有index.php,index.html的時候,直接訪問域名,找不到文件,會報403 forbidden。
二、權限問題,如果nginx沒有web目錄的操作權限,也會出現403錯誤。
解決辦法:修改web目錄的讀寫權限,或者是把nginx的啓動用戶改成目錄的所屬用戶,重啓Nginx即可解決
- chmod -R 755 / var/www
三、SELinux設置爲開啓狀態(enabled)的原因
首先查看本機SELinux的開啓狀態,如果SELinux status參數爲enabled即爲開啓狀態
- /usr/sbin/ sestatus -v
或者使用getenforce命令檢查
找到原因了,如何關閉 SELinux 呢
1、臨時關閉(不用重啓)
- setenforce 0
2、修改配置文件 /etc/ selinux/config,將SELINUX=enforcing改爲SELINUX=disabled
- vi /etc/ selinux/config
注意:修改配置文件需要重啓系統 reboot