我想使用nginx来托管一些静态html,它位于我电脑的不同路径中,下面是我的配置:
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/chatserver
或http://localhost:8080/test
时,nginx始终会响应404 Not Found
。
如果我访问:http://localhost:8080/
,nginx将返回默认的nginx欢迎页面。
为什么我的配置不起作用?
答案 0 :(得分:2)
我认为您应该使用alias
代替root
。
在您的示例中,网址/chatserver/index.html
将搜索/Users/xxxx/gitrepo/chatserver/public/chatserver/index.html
(注意chatserver
之后的"不受欢迎的" public
!)。查看您的nginx
日志文件!