2011-12-24 8 views
9

Tengo un sitio web de nginx + uwsgi (usando el Frasco para las páginas dinámicas de python). Me gustaría servir la página principal que está estática directamente a través de nginx y dirigir todo lo demás a uwsgi.Publicación de página de inicio estática con nginx y reposo a través de uwsgi

Las siguientes directivas de configuración nginx funcionan bien para servir a la página a través de Nginx y redirigir una llamada 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;                                            
} 

Pero no pueden encontrar una manera de generalizar la segunda directiva atrapar todas las llamadas a mysite.com/something y dirigirlas a uwsgi.

He intentado lo siguiente, que no funcionaba (get 404 para nada más que llamadas 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;                                            
} 

¿Alguna sugerencia?

Respuesta

10

intentar algo como esto

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

Gracias, después de cambiar los try_files ** ** directiva para 'try_files $ uri uri $/@uwsgi;' funcionó como un encanto – gws

+2

NB! '$ uri /' es importante, y solucionó el problema en mi caso también (nginx 0.8.4 en Dreamhost VPS) – velochy

Cuestiones relacionadas