使用nginx和rest通过uwsgi提供静态主页服务

使用nginx和rest通过uwsgi提供静态主页服务,nginx,flask,uwsgi,Nginx,Flask,Uwsgi,我有一个nginx+uwsgi网站(将Flask用于动态python页面)。 我想通过nginx直接为静态主页提供服务,并将所有其他内容发送到uwsgi 以下nginx配置指令可以很好地通过nginx为主页提供服务,并将调用重定向到mysite.com/login到uwsgi: location / {

我有一个nginx+uwsgi网站(将Flask用于动态python页面)。 我想通过nginx直接为静态主页提供服务,并将所有其他内容发送到uwsgi

以下nginx配置指令可以很好地通过nginx为主页提供服务,并将调用重定向到mysite.com/login到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;                                                                                                                                                                              
} 
但是我找不到一种方法来概括第二个指令,以捕获对mysite.com/something的所有调用并将它们定向到uwsgi

我尝试了以下方法,但没有成功(除了调用mysite.com外,任何东西都可以获得404):


有什么建议吗?

试试这样的建议

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; 
 }
...
}

谢谢,将try_files指令更改为
try_files$uri$uri/@uwsgi它工作起来就像一个charmNB$uri/”很重要,并且也解决了我的问题(Dreamhost VPS上的nginx 0.8.4)是否可以仅在特定位置尝试_文件?这可能更有效
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; 
 }
...
}