我在 debian squeeze 上的 nginx 中设置了非常默认的站点启用功能,现在我正尝试让它在 myhost/munin/ 上提供我的 munin 图表
这是我添加到配置中的位置
location /munin
{
root /var/cache/munin/www/;
index index.htm index.html;
}
这是我收到的错误:
2012/07/09 23:52:03 [error] 3598#0: *13 "/var/cache/munin/www/munin/index.htm" is not found (2: No such file or directory), client: 93.*.*.*, server: , request: "GET /munin/ HTTP/1.1", host: ""
此设置在 apache 中“正常工作”。我是 nginx 新手,因此有点不明白为什么它在查找路径时会添加额外的 /munin。有什么建议吗?
答案1
您需要使用alias
指令,而不是root
:
location /munin/ {
alias /var/cache/munin/www/;
}
答案2
尝试这个
root /var/cache/munin/www/;
location /
{
index index.htm index.html;
}
这里发生了什么事(对于傻瓜模式,没有冒犯的意思):
首先我们告诉 nginx DocRoot 在哪里,即 /var/.... 这意味着所有未来的“位置”都指的是此下的路径。
那么位置只是引用此目录的顶部“/”路径