Python Web アプリケーションを通常の方法で実行することと、wsgi で実行することの違いは何ですか?

Python Web アプリケーションを通常の方法で実行することと、wsgi で実行することの違いは何ですか?

uwsgiPython Web アプリケーション (Flask や Django などのフレームワークを使用して開発されたアプリケーション) をサーバー上で実行するには、、... などを使用してデプロイし、 & などの Web サーバーで実行するように構成する必要があることはわかっwsgiていgunicornます。apache2nginx

しかし、実行するだけpython my_app.pyで、アプリケーションは次のようなポートを使用してサーバー上で動作することがわかっています。また、Web サーバー上のプロキシを使用して、 などの任意の場所にmywebsite.com:5000リダイレクトできます。mywebsite.com:5000test.example.com

では、この 2 つの方法の違いは何でしょうか? どちらを使用すればよいでしょうか?

ありがとう。

答え1

これはすべてのフレームワークに当てはまるわけではありませんが、参照した django と flask を dev http モードで実行すると、シングル スレッドのみになります。

したがって、サーバーは一度に 1 つの接続しか処理できません。したがって、2 つの接続が同時に来た場合、サーバーは 1 つの接続を処理し、もう 1 つを待機させます。

Apache/nginx を前面に置いた wsgi サーバーは、一度に多数の接続を処理します。

関連情報