啓動Nginx後請求資源403解決方案總結

前言

最近在測試服務器上安裝並啓動Nginx來運行項目,遇到了以前未見過的403錯誤。php

測試服務器是CentOS的系統,上網搜索了一些辦法,大多數都是說web目錄權限不夠,或者是項目根目錄下沒有index索引文件。html

偏偏筆者的問題並非常見的兩種狀況,不過仍是有人提到了第三種特殊狀況。極少數的特殊狀況,時間長了真的容易忘記,爲了不重複踩坑,有必要總結一下。linux

403解決方案

大致上Nginx出現403的緣由有三種,每種都有對應的解決辦法。常見的兩種緣由就是權限問題或index文件缺失。這裏假設web目錄爲「/www」,項目目錄爲"/www/OA"。nginx

  • 若是是Nginx對web目錄沒有操做權限,解決辦法以下:web

    1. 修改web目錄的讀寫權限。
    chmod -R 755 /www
    1. 將Nginx的啓動用戶改成web目錄的所屬用戶,修改/etc/nginx下nginx.conf文件的user項。
  • 若是是項目目錄下缺乏index索引文件,解決辦法以下:服務器

在項目根目錄下建立index.html或index.php文件,通常狀況下就是這兩個文件了,具體還得看Nginx項目配置文件中具體是如何指定的了。測試

server {
  listen       80;
  server_name  localhost;
  index  index.php index.html;
  root  /www;
}
  • 第三種緣由比較特殊,查看服務器上是否開啓了SELinux。code

    SELinux若是是enabled,會產出Nginx的403問題。查看服務器SELinux狀態命令以下:server

    /usr/sbin/ sestatus -v

    肯定是SELinux的緣由後,能夠選擇關閉SELinux,有兩種方式:htm

    1. 臨時關閉,不須要重啓服務器,可是若是服務器重啓後會失效。
    setenforce 0
    1. 修改配置文件 /etc/ selinux/config,將SELINUX=enforcing改成SELINUX=disabled,注意修改後須要重啓系統。
相關文章
相關標籤/搜索