Soy bastante nuevo en las configuraciones de nginx. Tengo algunas dificultades con un problema bastante básico. Me gustaría alojar algunos archivos estáticos en / doc (index.html, algunas imágenes, etc.). Los archivos se encuentran en un directorio llamado / sites / mysite / proj / doc /.
El problema es que con la configuración de nginx a continuación, nginx intenta buscar un directorio llamado "/ sites / mysite / proj / doc / doc". Quizás esto se pueda solucionar configurando la raíz en / sites / mysite / proj /, pero no quiero exponer potencialmente otros activos (no estáticos) en el directorio proj /. Y por varias razones, realmente no puedo mover el directorio doc / desde donde está.
Creo que hay una manera de usar una regla de reescritura para resolver esta situación, pero realmente no entiendo todas las partes, por lo que tengo dificultades para formular la regla.
rewrite ^/doc/(.*)$ /$1 permanent;
También he incluido un ejemplo funcional de alojamiento de archivos fuera del directorio / 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"
¿Alguien tiene alguna idea de cómo podría servir este contenido estático?
root
acuerdo con el documento al que se refirió (consulte "Cuando la ubicación coincide con la última parte del valor de la directiva")