1. 程式人生 > >nginx訪問報錯403 is forbidden

nginx訪問報錯403 is forbidden

由於開發需要,在本地環境中配置了nginx環境,使用的是Centos 6.5 的yum安裝,安裝一切正常,於是把網站檔案用mv命令移動到了新的目錄,並相應修改了配置檔案,並重啟Nginx。


重啟就報個“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

把nginx的啟動使用者改成目錄的所屬使用者方法:
vim /etc/nginx/nginx.conf


user  yunva;


三、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