flask funktioniert aber mit apache2 kommt ImportError
-
- 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 (...)"
- 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
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
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
Ist es nur:
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?
Code: Alles auswählen
gunicorn -w 4 -b 127.0.0.1:4000 myproject:app
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 (...)"
-
- 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 (...)"
- 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
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
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.
Bevor Du also keine Probleme bemerkst, brauchst Du Dir da keine Sorgen machen.
- __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
-
- 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?
@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 (...)"