Nginx无法提供静态内容并返回403(禁止)错误页面

时间:2018-06-04 18:04:44

标签: nginx

我是nginx的新手,并尝试使用nginx提供静态内容并获得403错误。我有这样的服务器配置:

server {
    listen 8000;
    server_name localhost;
    root /Users/ismayilmalik/Documents/github/nginx-express;

    location / {
        index index.html;
}

我已执行以下命令:

chmod -R 755 /nginx-express
chmod -R 644 /nginx-express/*.*

文件夹中有 drwxr-xr-x 严格。这里有什么问题?

3 个答案:

答案 0 :(得分:0)

请转到您的nginx错误日志以获取详细信息。

运行此命令以显示上次错误:

tail -20 /var/log/nginx/error.log

答案 1 :(得分:0)

通过位于/var/log/nginx/***.error的错误日志是很好的。我曾遇到类似的问题。解决方案是用户nginx正在运行。

如果nginx以www运行,那么www将无法访问ismayilmalik文件夹,除非您还授予对/ Users / ismayilmalik主文件夹的访问权限,但这不安全。如果您想通过nginx访问您的主文件夹,最好的解决方案是允许nginx作为ismayilmalik运行。

答案 2 :(得分:0)

我终于解决了。实际上,nginx拥有从以下地址提供静态内容的所有权限:

/Users/ismayilmalik/Documents/github/nginx-express;

原因是在启动时nginx无法在其中创建 error.log 文件' sroot目录。手动创建文件后,它工作正常。我正在使用macOs并找到执行以下命令的日志文件夹,以查找nginx的所有enironment变量:

nginx -V
在此之前我已经将nginx用户从 nobody 更改为主配置文件中的admin,如下所示。

user [username] [usergroup]

默认情况下,nginx主进程在 root 下运行,子进程在 nobody 下运行。