nginx 位置路径问题

nginx 位置路径问题

我在 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/.... 这意味着所有未来的“位置”都指的是此下的路径。

那么位置只是引用此目录的顶部“/”路径

相关内容