nginx localização pathing issue

3

Eu tenho uma configuração habilitada para sites muito padrão no meu nginx no debian squeeze e agora estou tentando fazer com que ele exiba meus gráficos munin no myhost / munin /

Heres a localização que eu adicionei à configuração

       location /munin
            {
                    root /var/cache/munin/www/;
                    index index.htm index.html;
            }

E aqui está o erro que recebo:

            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: ""

Essa configuração costumava "apenas funcionar" no apache. Eu sou novo no nginx, então um pouco perdido a respeito de por que ele está adicionando o extra / munin ao procurar o caminho. Algum conselho?

    
por Michael Jefferys 09.07.2012 / 21:58

2 respostas

6

Você precisa usar a diretiva alias , em vez de root :

location /munin/ {
    alias /var/cache/munin/www/;
}
    
por 10.07.2012 / 02:01
1

Tente isso

root /var/cache/munin/www/;

location /
            {

                    index index.htm index.html;
            }

O que está acontecendo aqui (no modo dummy, sem ofensa):

Primeiramente, estamos dizendo ao nginx onde está o DocRoot, que é / var / .... significando que todas as futuras "localizações" se referem ao caminho sob este.

então a localização é simplesmente referenciando o caminho "/" superior deste diretório

    
por 09.07.2012 / 22:43