Je suis assez nouveau pour les configs nginx. J'ai des difficultés avec un problème assez basique. Je voudrais héberger des fichiers statiques dans / doc (index.html, quelques images, etc.). Les fichiers se trouvent dans un répertoire appelé / sites / mysite / proj / doc /.
Le problème est qu'avec la configuration nginx ci-dessous, nginx essaie de rechercher un répertoire appelé "/ sites / mysite / proj / doc / doc". Peut-être que cela peut être corrigé en définissant la racine sur / sites / mysite / proj /, mais je ne veux pas potentiellement exposer d'autres actifs (non statiques) dans le répertoire proj /. Et pour diverses raisons, je ne peux pas vraiment déplacer le répertoire doc / d'où il se trouve.
Je pense qu'il existe un moyen d'utiliser une règle de réécriture pour résoudre cette situation, mais je ne comprends pas vraiment toutes les parties, donc j'ai du mal à formuler la règle.
rewrite ^/doc/(.*)$ /$1 permanent;
J'ai également inclus un exemple de travail d'hébergement de fichiers à partir d'un répertoire / 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"
Quelqu'un a-t-il des idées sur la façon dont je pourrais utiliser ce contenu statique?
root
place selon le document auquel vous avez fait référence (voir "Lorsque l'emplacement correspond à la dernière partie de la valeur de la directive")