2011-12-24 4 views
9

Ho un sito Web nginx + uwsgi (usando Flask per pagine python dinamiche). Mi piacerebbe servire la homepage che è statica direttamente attraverso nginx e indirizzare tutto il resto a uwsgi.Serve homepage statica con nginx e resto tramite uwsgi

le seguenti direttive di configurazione nginx funzionano bene per servire la home page attraverso nginx e reindirizzare una chiamata a mysite.com/login a uwsgi:

location/{                                                 
    root /var/www/mysite.com/static;                                         
    index index.html index.htm;                                            
}                                                   

location /login {                                               
    include uwsgi_params;                                             
    uwsgi_pass 127.0.0.1:3031;                                            
} 

ma non riesco a trovare un modo per generalizzare la seconda direttiva per prendere tutte le chiamate su mysite.com/something e indirizzarle su uwsgi.

Ho provato quanto segue che non ha funzionato (ottenere 404 per nulla, tranne le chiamate a mysite.com):

location/{                                                 
    root /var/www/mysite.com/static;                                         
    index index.html index.htm;                                            
}                                                   

location /* {                                               
    include uwsgi_params;                                             
    uwsgi_pass 127.0.0.1:3031;                                            
} 

Qualche suggerimento?

risposta

10

provare qualcosa di simile

server { 
... 
root /var/www/mysite.com/static;                                         
index index.html index.htm; 
try_files $uri @uwsgi; 
location @uwsgi{ 
    include uwsgi_params;                                             
    uwsgi_pass 127.0.0.1:3031; 
} 
... 
} 

http://wiki.nginx.org/HttpCoreModule#try_files

+3

Grazie, dopo aver cambiato le ** ** try_files direttiva a 'try_files $ uri $ uri/@uwsgi;' ha funzionato come un fascino – gws

+2

NB! '$ uri /' è importante e risolve il problema anche nel mio caso (nginx 0.8.4 su Dreamhost VPS) – velochy