10

nginx + uwsgi Web サイトがあります (動的 Python ページに Flask を使用)。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;                                                                                                                                                                              
} 

しかし、2 番目のディレクティブを一般化して 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 に答える