Nginx: sirva arquivos estáticos de um determinado diretório - um nível muito profundo


13

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?

Respostas:


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.