flask funktioniert aber mit apache2 kommt ImportError

Django, Flask, Bottle, WSGI, CGI…
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@naheliegend: natürlich kannst Du auch lokal nginx oder Apache installieren. Wo ist da das Problem?
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Das Wissen ist wie immer das Problem, aber ich versuche das mal mit nginx + Gunicorn und Flask
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

der Server ist ja am Ende auch nur ein Rechner wie deiner. Nur das da halt keine Desktopumgebung drauf läuft. Aber Python ist auf dem Server genau so Python wie auf deinem Rechner, genau so wie gunicorn, nginx und Flask.

Da das Setup aus nginx + gunicorn + Flask (bzw. jedem anderen WSGI-fähigen Framework) sehr gängig ist, findest du da sicher bergeweise Anleitungen im Netz.

Tipp: erst mit gunicorn + Flask anfangen. Wenn das läuft noch nginx als Reverse-Proxy davor setzen.

Gruß, noisefloor
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Ist es nur:

Code: Alles auswählen

gunicorn -w 4 -b 127.0.0.1:4000 myproject:app
was ich ausführen muss, damit ich meine flask-app über Gunicorn laufen lasse?
Ich habe ja jetzt 4 worker erstellt. Heißt das, dass ich auch nur 4 threads gleichzeitig erstellen kann? Bisschen wenig, oder?
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mit wie vielen Browsern willst du den gleichzeitig auf dein Entwicklungssystem draufhauen, damit die 4 Worker in die Knie gehen? Statische Inhalte liefert ja der nginx.
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Aber im Live-Betrieb sind sicherlich mehr als 4 Clients gleichzeitig an Ressourcen interessiert.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

da passt doch die alte Weisheit "premature optimization is the root of all evil". :-)

Wie lange dauert denn ein Request-Response Zyklus bei deiner App? Wenn da nicht was mega rechenintensives oder ein massiver Datenbankzugriff dahinter liegt, dann ist das normalerweise nach ein paar Dutzend Millisekunden oder so durch und der Worker widmet sich dem nächsten Request. Wie viel Tausend Requests erwartest du denn pro Minute?

Außerdem setzt man genau darum nginx als Reverse-Proxy davor. Und wenn der ein gunicorn Serverprozess wirklich mal nicht mehr ausreichend, kannst du nginx auch als Load-Balancer konfigurieren. Mein Tipp: da kommst du sicher erst mal nicht hin, weil nicht nötig.

Gruß, noisefloor
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich hab einen Server mit hundert parallelen Nutzern auf einem Thread, weil meine Datenbankabfragen asynchron laufen, ist das kein Problem. Dabei langweilt sich das System die meiste Zeit.
Bevor Du also keine Probleme bemerkst, brauchst Du Dir da keine Sorgen machen.
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Zumal: Wenn es um die Anzahl der Worker geht ist diese 4 die da steht ja sehr leicht angepasst.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Ich weiß noch nicht wie lange ein Zyklus sein wird, da ich meine DB noch optimieren muss.

@Sirius: Du hast einen Worker mit einem Thread für 100 Nutzer laufen? Was lieferst du denn als response aus? Würden die Clients bei dynamischen Websites ewig warten?

Wie viele Threads sollte man einem Worker zuweisen?
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Antworten