web-dev-qa-db-ja.com

Gunicorn + Nginx + Flaskを使用するとどのような利点が追加されますか?

私は人々がNginx + Gunicorn + Flaskのようなセットアップを実行しているのを見ます。

誰かがフラスコの前にグニコーンを置くことの利点は何ですか? Flaskだけを実行するのはなぜですか?Gunicorn + Flask実行しているため、より多くのリソースを消費しませんか?GunicornはFlaskインスタンスが応答しない場合?

グニコーンの上にnginxを置く目的は何ですか?グニコーンは十分ではありませんか?繰り返しますが、より多くのリソースが費やされていますか?

48
KJW

混乱するかもしれませんが、FlaskはWebサーバーではありません)、それはフレームワークであり、何らかの種類のGunicorn、Nginx、ApacheなどのWebサーバーは、HTTPリクエストを受け入れて操作します。人々がNginxとGunicornを一緒に実行する理由は、Webサーバーであることに加えて、NginxはGunicornへの接続をプロキシして、特定のパフォーマンス上の利点、これはそれらの利点を詳しく説明するかなり良い答えです: https://serverfault.com/questions/220046/why-is-setting-nginx-as-a-reverse-proxy-a-良いアイデア

EDIT:Nginxをプロキシとして実行することのパフォーマンス上の利点に関する情報を含むリンクを追加しました。

38
Jon