Nginx: servire i file statici da una determinata directory - un livello troppo profondo


13

Sono abbastanza nuovo per le configurazioni di nginx. Sto avendo qualche difficoltà con un problema piuttosto basilare. Vorrei ospitare alcuni file statici in / doc (index.html, alcune immagini, ecc.). I file si trovano in una directory chiamata / sites / mysite / proj / doc /.

Il problema è che con la configurazione di nginx in basso, nginx cerca una directory chiamata "/ sites / mysite / proj / doc / doc". Forse questo può essere risolto impostando il root su / sites / mysite / proj /, ma non voglio esporre potenzialmente altre risorse (non statiche) nella directory proj /. E per vari motivi, non riesco davvero a spostare la directory doc / da dove si trova.

Penso che ci sia un modo per usare una regola di riscrittura per risolvere questa situazione, ma non capisco davvero tutte le parti, quindi ho qualche difficoltà a formulare la regola.

rewrite ^/doc/(.*)$ /$1 permanent;

Ho anche incluso un esempio funzionante di hosting di file da una directory / 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"

Qualcuno ha qualche idea su come potrei fare per pubblicare questo contenuto statico?

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.