Eu sou muito novo para configurações nginx. Estou tendo alguma dificuldade com um problema bastante básico. Gostaria de hospedar alguns arquivos estáticos em / doc (index.html, algumas imagens etc.). Os arquivos estão localizados em um diretório chamado / sites / mysite / proj / doc /.
O problema é que, com a configuração do nginx abaixo, o nginx tenta procurar um diretório chamado "/ sites / mysite / proj / doc / doc". Talvez isso possa ser corrigido definindo a raiz como / sites / mysite / proj /, mas não quero expor potencialmente outros ativos (não estáticos) no diretório proj /. E por várias razões, não consigo realmente mover o diretório doc / de onde ele está.
Eu acho que existe uma maneira de usar uma regra de reescrita para resolver essa situação, mas eu realmente não entendo todas as partes, portanto, tenho alguma dificuldade em formular a regra.
rewrite ^/doc/(.*)$ /$1 permanent;
Também incluí um exemplo prático de hospedagem de arquivos em um diretório / sites / mysite / htdocs / static /.
> vim locations.conf
location /static {
root /sites/mysite/htdocs/;
access_log off;
autoindex on;
}
location /doc {
root /sites/mysite/proj/doc/;
access_log on;
autoindex on;
}
2011/11/19 23:49:00 [error] 2314#0: *42 open() "/sites/mysite/proj/doc/doc" failed (2: No such file or directory), client: 100.100.100.100, server: , request: "GET /doc HTTP/1.1", host: "myhost.com"
Alguém tem alguma idéia de como eu poderia servir esse conteúdo estático?
root
acordo com o documento a que você se referiu (consulte "Quando o local corresponder à última parte do valor da diretiva")