
Ich weiß, dass Sie, um eine Python-Webanwendung (eine mit Frameworks wie Flask und Django entwickelte Anwendung) auf dem Server auszuführen, diese mithilfe von Dingen wie uwsgi
, wsgi
… gunicorn
usw. bereitstellen und für die Ausführung mit Webservern wie apache2
& konfigurieren müssen nginx
.
Ich weiß aber, dass ich die Anwendung einfach ausführen kann python my_app.py
und sie auf dem Server mit den folgenden Ports funktioniert: mywebsite.com:5000
. Außerdem kann ich einen Proxy auf dem Webserver verwenden, um mywebsite.com:5000
zu etwas wie test.example.com
oder jedem beliebigen Ort umzuleiten.
Was ist also der Unterschied zwischen den beiden Möglichkeiten? Welche sollte ich verwenden?
Danke.
Antwort1
Dies ist nicht bei allen Frameworks der Fall, aber bei Django und Flask ist die Ausführung im von Ihnen erwähnten Dev-HTTP-Modus nur ein Thread.
Der Server kann also immer nur eine Verbindung gleichzeitig verarbeiten. Wenn also zwei Verbindungen gleichzeitig eingehen, verarbeitet der Server eine und lässt die andere warten.
Ein WSGI-Server mit Apache/Nginx davor kann viele Verbindungen gleichzeitig verarbeiten.