引起nginx 403 forbidden通常是三種情況:一是缺少索引文件,二是權(quán)限問(wèn)題,三是selinux狀態(tài)。
一、缺少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下面沒(méi)有index.php,index.html的時(shí)候,直接訪問(wèn)域名,找不到文件,會(huì)報(bào)403 forbidden。
二、權(quán)限問(wèn)題,如果nginx沒(méi)有web目錄的操作權(quán)限,也會(huì)出現(xiàn)403錯(cuò)誤。
解決辦法:修改web目錄的讀寫(xiě)權(quán)限,或者是把nginx的啟動(dòng)用戶(hù)改成目錄的所屬用戶(hù),重啟nginx即可解決
chmod?-r?755?/?var/www
三、selinux設(shè)置為開(kāi)啟狀態(tài)(enabled)的原因
首先查看本機(jī)selinux的開(kāi)啟狀態(tài),如果selinux status參數(shù)為enabled即為開(kāi)啟狀態(tài)
/usr/sbin/?sestatus?-v
或者使用getenforce命令檢查
找到原因了,如何關(guān)閉 selinux 呢
1、臨時(shí)關(guān)閉(不用重啟)
setenforce 0?
2、修改配置文件 /etc/ selinux/config,將selinux=enforcing改為selinux=disabled
vi?/etc/?selinux/config
注意:修改配置文件需要重啟系統(tǒng) reboot
**********若以上方法都不能解決,那還需要注意一個(gè)地方*********
查看nginx.conf:
user nobody
改成:user root?
停止nginx -s stop?
重啟nginx -c? nginx.conf