10

我有一个 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):

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

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

有什么建议么?

4

1 回答 1

11

尝试这样的事情

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

于 2011-12-24T18:11:01.130 回答