nginx的403 Forbidden解决的办法(权限文件和文件不存在)

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的文件试试。

你可能感兴趣的:(nginx,Linux)