Exibindo conteúdo de diretório adicional sob a raiz no Nginx

1

Usando o Nginx com o Django, tenho a seguinte entrada de localização na configuração do meu servidor:

location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:1234;
}

Assim, todas as solicitações de URL raiz são passadas para o Django.

Agora, gostaria de exibir alguns arquivos adicionais, como robots.txt , favicon.ico e um número indefinido de outros arquivos, também sob o URL raiz. Por exemplo, /robots.txt deve retornar meu arquivo robots.txt , que vive em /var/www/project/misc/ . Como faço isso no Nginx? Não consigo ter vários locais para capturar o URL raiz "/".

Eu sei, eu posso fazer assim:

location /robots.txt {
    alias /var/www/project/misc/robots.txt;
}

No entanto, estamos falando de muitos arquivos diferentes, e adicionar um local extra para todos eles parece ser um pouco desajeitado. Seria melhor se houvesse uma maneira de simplesmente servir um diretório inteiro sob o URL raiz.

    
por Simon Steinberger 11.09.2015 / 16:17

1 resposta

0

Basta dividir o aplicativo em seu próprio local especial, depois tente primeiro o sistema de arquivos.

location / {
    root /var/www/project/misc;
    try_files $uri @wsgiapp;
}

location @wsgiapp {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:1234;
}
    
por 11.09.2015 / 16:31