nginx配置好了,出现403 Forbidden主要有两种原因:1、nginx没有访问目录的权限;2、nginx的目录里面没有默认文档,并且没有列出目录的权限。
启动了nginx,访问网站,然后出现
403 Forbidden
1、权限问题
这个就是权限的问题,要保证,nginx对配置的目录有权限。
首先,我们去查看一下,配置的目录,下文中{nginx}表示你的nginx安装路径:
vi {nginx}/conf/nginx.conf
然后找到这一段:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /home/xxx/website/nginxweb;
index index.html index.htm;
}
}
其中的root /home/xxx/website/nginxweb;中的/home/xxx/website/nginxweb就是你的目录,index是你的默认文档。
我们去看看这个目录你是什么权限,这个我就不说了。
然后我们看看我们的nginx是什么权限:
nobody 31222 31159 0 22:52 ? 00:00:00 nginx: worker process
可以看到是nobody用户运行的,所以,我们要修改成,拥有权限的用户,或者修改目录的权限,我说一下修改nginx运行的用户。
在{nginx}/conf/nginx.conf 前面加上一句:
user xxx;
就可以了,其中,xxx就是运行nginx的用户。
2、目录里面没有
完成了上面的,访问还出现错误,很有可能是你的目录里没有文件,然后又没有列出目录的权限。
检查你的/home/xxx/website/nginxweb文件夹里面是否有配置的默认文件,默认文件在nginx.conf里面的index,上面已经介绍过了。
解决办法,在你的/home/xxx/website/nginxweb文件夹里面创建一个index.html的文件试试。