Como especifico caminhos de arquivos do Windows no nginx

21

Estou usando a versão oficial do windows do nginx. Eu quero especificar o equivalente windows desta configuração

location /static/ {
   alias /home/user/staticfiles/;
}

Como especifico caminhos de arquivos do Windows na diretiva alias? Isso é possível?

    
por Vasil 03.08.2009 / 19:43

4 respostas

14

Essas respostas devem estar desatualizadas. Usando nginx 1.3.8, caminhos absolutos com barras normais funcionam. As barras invertidas parecem funcionar, mas devem ser duplicadas. Se eles não são, alguns, como um \" são levados literalmente.

location /static/ {
    # alias "C:\foo\bar\...\static\";
    alias "C:/foo/bar/.../static/";
    expires 90d;
}

As citações podem não ser necessárias, mas parecem ser uma boa ideia no caso de espaços incorporados.

Uma outra coisa que notei é que é importante combinar o caminho do URL e do alias para terminar com uma barra final ou não - uma incompatibilidade e isso não funciona.

    
por 08.11.2012 / 04:53
5

Se você tentar especificar um caminho absoluto como ...

location / {
    alias C:\Users\SomeUser\mysite\static;
}

... depois de solicitar um arquivo 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 quaisquer caminhos relativos ao diretório C: \ nginx. Isso funciona:

location / {
    alias ../Users/SomeUser/mysite/static;
}
Pessoalmente, fiquei feliz em aprender isso porque isso torna minhas configurações nginx um pouco mais portáteis entre o Windows e o Linux do que eu esperava que fossem. Para transformar um arquivo de configuração do Linux em um que funcione no Windows, para mim é basicamente apenas:

s|/home/myname/|../Users/Myname|
    
por 11.11.2011 / 22:09
2

Você pode tentar isso:

  1. copie seus arquivos estáticos para nginx / html / staticfiles
  2. definido em nginx.conf

    location / static / {     alias / nginx / html / staticfiles /; }

por 03.08.2009 / 21:11
1

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. Então, simplesmente não use alias em windows para nginx.

    
por 26.10.2013 / 11:33