nginx无法正常工作

时间:2019-03-13 09:31:09

标签: nginx server

我是nginx的新手。最近,我尝试使用nginx投放静态内容。

以下是我的nginx配置文件:

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  server_name localhost;

  location /services {
        root /home/stone/source/javascript/demo/www;
        try_files $uri $uri/ =404;
        index index.html;
  }


  location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://127.0.0.1:3000/;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect off;
        proxy_set_header   X-Forwarded-Proto $scheme;

    }

}

当用户请求“ http://localhost/index.html”时,它会按预期运行,并转到“ http://127.0.0.1:3000/index”。但是,当用户请求“ http://localhost/services/demo.html”时,应该转到“ /home/stone/source/javascript/demo/www/services/demo.html”,但没有,并且返回404错误。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我自己弄清楚。我的Nginx用户没有访问/ home / stone文件夹的权限。  / home / stone的所有者显示如下:

drwx------. 59 stone stone  4096 Mar 13 19:40 stone

因此,其他用户无法访问Stone文件夹。如果我执行此命令

sudo chmod o+x /home/stone

然后一切都按预期工作!