
Eu sei que para executar uma aplicação web Python (uma aplicação desenvolvida com frameworks como Flask e Django) no servidor, você precisa implantá-la usando coisas como uwsgi
, wsgi
.. gunicorn
.. etc, e configurá-la para rodar com o servidores web como apache2
& nginx
.
Mas sei que posso simplesmente executar python my_app.py
e a aplicação funcionará no servidor usando portas como: mywebsite.com:5000
. E posso usar um proxy no servidor web para redirecionar mywebsite.com:5000
para algo parecido test.example.com
ou para qualquer lugar que eu quiser.
Então, qual é a diferença entre as duas maneiras? Qual devo usar?
Obrigado.
Responder1
Este não é o caso de todos os frameworks, mas Django e flask quando você executa no modo dev http, que você referenciou, é apenas de thread único.
Portanto, o servidor só pode lidar com uma única conexão por vez. Portanto, se duas conexões forem unidas, o servidor cuidará de uma e fará a outra esperar.
Um servidor wsgi com apache/nginx na frente irá lidar com muitas conexões ao mesmo tempo.