
Я знаю, что для запуска веб-приложения 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 на переднем плане будет обрабатывать множество подключений одновременно.