2015-07-10 88 views
2

我想使用nginx的托管,位于不同的路径我的电脑上的一些静态的HTML,下面是我的配置:为什么nginx无法在不同地点提供服务?

server { 
    listen  8080; 
    server_name localhost; 


    location /chatserver { 
     root /Users/xxxx/gitrepo/chatserver/public; 
     index index.html; 
    } 

    location /test { 
     root /Users/xxxx/test/test_site; 
     index index.html; 
    } 

文件结构是:

Users 
    |-xxxx 
    |-gitrepo 
    | |-chatserver 
    |  |-public 
    |   |- index.html 
    |-test 
     |-test_site 
      |- index.html 

但是,当我访问:http://localhost:8080/chatserverhttp://localhost:8080/test,nginx总是响应404 Not Found

如果我访问:​​,nginx将返回默认的nginx欢迎页面。

为什么我的配置无法正常工作?

回答

2

我认为你应该使用alias而不是root

在您的示例中,网址/chatserver/index.html将搜索/Users/xxxx/gitrepo/chatserver/public/chatserver/index.html(注意public之后的“不需要的”chatserver!)。检查您的nginx的日志文件!

参见documentation of rootdocumentation of alias

相关问题