查看/var/log/nginx/error.log日志显示:xxx 403 forbidden (13: Permission denied)错误。我勒个去~ /<it2=
{6brVN.V
引起nginx 403 forbidden通常是三种情况:一是缺少索引文件,二是权限问题,三是SELinux状态。 vp..>BMJ
hSfLNvK
一、缺少index.html或者index.PHP文件,就是配置文件中index index.html index.htm这行中的指定的文件 V9<CeTl'
~.f[K{h8
uc-Go
6W
J&jig?t
R;Gf3K
/7-qb^V
? E!v^j=h$u
hV>@qOl
'
1 PbN"+q M
2 1[r;
3 1q(o3%
4 "J (.dg]"
5 ~\D
H[Mt
6 %Lwd1'C%
/]*#+;;%
server { $>mTPNF
listen 80; fG\]&LFBU
server_name localhost; lj o^ 2
index index.php index.html; @YfCS8
eH
root / var/www; 7,N>u8cTh
} X[
o9^<
7VwLyy
(W l5F
如果在/ var/www下面没有index.php,index.html的时候,直接访问域名,找不到文件,会报403 forbidden。 #815h,nP+
bUp
,vc*
二、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。 6:Nz=sw8
@Pc]qu
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决 O}!L;?
n_n0Q}du
@lP<Mq~]
d&p]O
U$`)|/8
.wD>0Ig
? t/bDDV"
Lj$yGd K<
1 WRJ+l_81
w49Wl>M
chmod -R 755 / var/www ]rDf3_!m(
S#X$QD
QY2!.a^q
三、SELinux设置为开启状态(enabled)的原因 l{4=La{?j
)Xa`LG=|
首先查看本机SELinux的开启状态,如果SELinux status参数为enabled即为开启状态 j8@YoD5o
B:tST(
MjG=6.J|`
vZC2F
j?6%=KuX<
iLy}G7h
? v I]|
W
O!sZMGF$p
1 /Z>#lMg\.
=4yME
/usr/sbin/ sestatus -v jh`&c{#*)M
PF@<>NO+W
;,Sl+)@h
或者使用getenforce命令检查 br<,?
PR~ho&!
找到原因了,如何关闭 SELinux 呢 ^Ebaq`{V\'
T\b
e(@r
1、临时关闭(不用重启) &~G>pvZ
{DBgW},
setenforce 0 Gs.id^Sf
,S:LhgSP
2、修改配置文件 /etc/ selinux/config,将SELINUX=enforcing改为SELINUX=disabled {?l#*XH;
+l2{EiQw
G*mk 19Z
-O\!IXG^
%IW=[D6Tg
3uz@JY"mK
? -2w\8]u
Q~#udEajI
1 7z)Hq./3@
7\rz*
vi /etc/ selinux/config :7<spd(%"
`Ou\:Iz0u
U{} bx
OSK3X Qc
/d&zE|!
注意:修改配置文件需要重启系统 reboot kTT!gZP$
e]'ui<`
**********若以上方法都不能解决,那还需要注意一个地方********* &{]zL
Vi?[yu<F
查看nginx.conf: 7$b!-I+a2
-Id4P _y
user nobody S4aN7.'Q
lRF04
改成:user root SpU+y|\[0
c3W9"
eY)ugq>'
停止nginx -s stop {`2! 3= "
)y4bb^;z
wmAZ {
重启nginx -c nginx.conf 0+L:+S
{VtmQU?cJ
以上所述是小编给大家介绍的Nginx报403 forbidden错误 (13: Permission denied)的解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! M!Q27wT8O