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?
root
invece in base al documento a cui si fa riferimento (vedere "Quando la posizione corrisponde all'ultima parte del valore della direttiva")