Qual é a diferença entre executar aplicativos da web Python normalmente e executá-los no wsgi?

Qual é a diferença entre executar aplicativos da web Python normalmente e executá-los no wsgi?

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.pye a aplicação funcionará no servidor usando portas como: mywebsite.com:5000. E posso usar um proxy no servidor web para redirecionar mywebsite.com:5000para algo parecido test.example.comou 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.

informação relacionada