Respostas:
Essas respostas devem estar desatualizadas. O uso de caminhos absolutos do nginx 1.3.8 com barras avançadas funciona. As barras invertidas parecem funcionar, mas devem ser dobradas. Se não forem, algumas \"
são, literalmente, uma trilha .
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
As aspas podem não ser necessárias, mas parecem uma boa ideia no caso de espaços incorporados.
Outra coisa que notei é que é importante combinar o caminho da URL e do alias em relação a terminar com uma barra final ou não - uma incompatibilidade e ela não funciona.
Se você tentar especificar um caminho absoluto como ...
location / {
alias C:\Users\SomeUser\mysite\static;
}
... depois de solicitar um arquivo a partir desse local, você provavelmente verá erros em C: \ nginx \ logs \ error.log como:
2011/11/11 12:53:16 [error] 6236#0: *1 open() "/cygdrive/c/nginx/C:\Users\SomeUser\mysite\static\somefile.css
Ao configurar o nginx no Windows, especifique os caminhos relativos ao diretório C: \ nginx. Isso funciona:
location / {
alias ../Users/SomeUser/mysite/static;
}
Pessoalmente, fiquei feliz em saber disso, pois torna minhas configurações nginx um pouco mais portáteis entre o Windows e o Linux do que eu esperava. Para transformar um arquivo de configuração do Linux em um que funcione no Windows, para mim é basicamente apenas:
s|/home/myname/|../Users/Myname|
Você pode tentar isso:
definido no nginx.conf
local / static / {alias / nginx / html / staticfiles /; }
Parece que o alias não funciona no meu sistema Windows. Eu tentei digitar
alias "c:"
mas mesmo isso não funciona. E não consigo encontrar uma maneira de produzir o local depois que o arquivo de configuração é recarregado pelo nginx. Portanto, simplesmente não use o alias no Windows para o nginx.
alias ../../cde/folder;
suponha que o seu nginx.exe localize em d: / abc / nginx, mas a pasta que você tenta alias localiza na pasta d: / cde /. Algumas fontes mencionam que o nginx foi codificado com o caminho /cygdrive/c/nginx/
, caso em que alias /cygdrive/d/path/
deve ser usado, mas isso não funciona para mim. Também é importante mencionar que a barra no final do caminho do alias não deve ser negligenciada.
Para o Nginx no Windows, você precisa usar este método:
localização / foo {
raiz C: // pathtoyourfile / folder1 / folder2;
} onde foo é uma pasta real dentro de folder2