Qual é a diferença entre executar aplicativos da web do Python de maneira normal e executá-los no wsgi?

3

Sei que para executar um aplicativo da Web em Python (um aplicativo desenvolvido com estruturas como Flask e Django) no servidor, você precisa implantá-lo usando coisas como uwsgi , wsgi .. gunicorn .. etc e configure-o para executar com os servidores da web, como apache2 & nginx .

Mas, sei que posso executar apenas python my_app.py e o aplicativo funcionará no servidor usando as portas como: mywebsite.com:5000 . E eu posso usar um proxy no servidor web para redirecionar mywebsite.com:5000 para algo como test.example.com ou qualquer lugar que eu queira.

Então, qual é a diferença entre as duas maneiras? Qual deles devo usar?

Obrigado.

    
por userofserver 23.08.2015 / 10:28

1 resposta

0

Este não é o caso de todos os frameworks, mas django e flask quando você executa em seu modo dev http, o qual você referenciou, é somente single threaded.

Assim, o servidor só pode manipular uma única conexão por vez. Então, se duas conexões entrarem juntas, o servidor irá lidar com uma e fazer a outra esperar.

Um servidor wsgi com o apache / nginx na frente manipulará muitas conexões de uma só vez.

    
por 23.08.2015 / 15:41