20

これは初心者の質問ですが、Gunicorn と Nginx の間の抽象化を理解するのに苦労しています。私は詳細な答えを探しているわけではありません。大まかなレベルで、それぞれが果たす役割は何ですか? 彼らはどのように相互作用しますか?

4

2 に答える 2

11

Gunicornの deploy docによると、Gunicorn のプロキシ サーバーとして Nginx を使用していると理解しています。

Gunicorn はRuby の Unicornから移植されているため、Unicorn の制限と仕様が Gunicorn にも適用されると想定しています。

Unicorn は、低遅延で高帯域幅の接続で高速なクライアントにのみサービスを提供し、Unix/Unix に似たカーネルの機能を利用するように設計されたラック アプリケーション用の HTTP サーバーです。低速のクライアントは、Unicorn と低速のクライアントの間にリクエストと応答の両方を完全にバッファリングできるリバース プロキシを配置することによってのみサービスを提供する必要があります。

Gunicorn の deploy docには、ほとんど同じことが書かれています。

利用可能な HTTP プロキシは多数ありますが、Nginx を使用することを強くお勧めします。別のプロキシ サーバーを選択する場合は、デフォルトの Gunicorn ワーカーを使用するときに、低速のクライアントをバッファするようにする必要があります。このバッファリングがないと、Gunicorn はサービス拒否攻撃を受けやすくなります。

したがって、Gunicorn は高速で低遅延の高帯域幅クライアントにサービスを提供し、Nginx は残りを提供します。

于 2012-07-26T05:59:08.403 に答える