Você precisa usar a diretiva alias
, em vez de root
:
location /munin/ {
alias /var/cache/munin/www/;
}
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?
Você precisa usar a diretiva alias
, em vez de root
:
location /munin/ {
alias /var/cache/munin/www/;
}
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
Tags nginx debian-squeeze