
基本的な Web サイトをセットアップしましたが、静的ファイルの提供方法について混乱しています。静的ファイルを提供するために必要なのは、nginx 構成で gunicorn へのプロキシを設定することだけであることに気付きました。
location / {
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
これだけで、gunicorn 経由でアプリを実行すると、gunicorn myapp:app
静的フォルダー ディレクトリからのみ静的ファイルを提供できます。これは、Flask からこのディレクトリ内のすべてのファイルを提供するように指示されているため、機能すると思いますか? (開発サーバーも実行されておらず、app.run() はコメント アウトされています)
そこで私の質問は、nginx がこれらのファイルを自動的に提供しないようにするにはどうすればよいかということです。ファイルの種類 (ビデオ、画像、css/html/js など) ごとに独自のロケーション ブロックを使用してそれらを提供したいと考えています。そうすれば、正しい設定で提供されます。
明確にするために:両方とも同じファイルを提供しますwebsite.com/static/css/test.css
が、website/css/test.css
最初のファイルは自動的に提供され、2番目のファイルはロケーションブロックを使用して提供しています。
location /css/ {
#other setting
root /home/app/static/;
}
何も提供したくありませんwebsite.com/static/css/test.css
。定義したロケーション ブロックからのみ提供されるようにしたいのです。