В чем разница между запуском веб-приложений Python обычным способом и их запуском под wsgi?

В чем разница между запуском веб-приложений Python обычным способом и их запуском под wsgi?

Я знаю, что для запуска веб-приложения Python (приложения, разработанного с использованием таких фреймворков, как Flask и Django) на сервере, его необходимо развернуть с использованием таких вещей, как uwsgi, wsgi.. gunicorn.. и т. д., и настроить его для работы с такими веб-серверами, как apache2& nginx.

Но я знаю, что я могу просто запустить python my_app.pyи приложение будет работать на сервере, используя порты вроде: mywebsite.com:5000. И я могу использовать прокси на веб-сервере для перенаправления mywebsite.com:5000куда-то test.example.comили в любое место, куда захочу.

Так в чем же разница между этими двумя способами? Какой из них мне следует использовать?

Спасибо.

решение1

Это касается не всех фреймворков, но django и flask при запуске в их режиме dev http, на который вы ссылались, работают только в одном потоке.

Таким образом, сервер может обрабатывать только одно соединение за раз. Поэтому, если два соединения приходят одновременно, сервер обработает одно и заставит другое ждать.

Сервер wsgi с Apache/nginx на переднем плане будет обрабатывать множество подключений одновременно.

Связанный контент