Hallo,
Ich arbeite momentan an einem Django-Projekt das ganz einfach nur Client-seitig laufen soll, d.h. nicht für jedermann verfügbar sondern einfach nur lokal ansprechbar. Da der built-in development-server von Django leider nicht multi-threaded ist gibt es manchmal Probleme oder starke Verzögerungen und daher suche ich nach einem empfehlenswerten pure-Python Webserver mit dem es relativ einfach möglich ist eine Django Instanz laufen zu lassen.
Ich habe schon einiges über CherryPy gehört und über Tornado und ein paar andere potentielle Kandidaten, aber ich habe diese noch nie benutzt noch habe ich irgendwelche praktische Erfahrungen damit gesammelt - deswegen frage ich nach euren Meinungen.
PS: Wie man sicher vorstellen kann muss der Server jetzt nicht blitz-schnell sein, ich will einfach nur die Django-Instanz aus dem Browser heraus bedienen können ohne das sie anfängt zu blocken oder ähnliches.
Lokaler WebServer für Django-Instanz
Schau mal hier: http://www.arteme.fi/blog/2009/02/26/dj ... atic-files
Ist sehr einfach und gut in django integriert. Funktioniert bei mir prima.
Gruß
Whitie
Ist sehr einfach und gut in django integriert. Funktioniert bei mir prima.
Gruß
Whitie
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Warum Pure-Python? Ich würde nginx oder Cherokee empfehlen. Das sind so die schlankesten und schnellsten die ich kenne. Guckst du auch hier.
Achso, Fapws ist natürlich noch superschnell und extra für Python gedacht, allerdings auch nicht in Python, sondern C geschrieben.
Achso, Fapws ist natürlich noch superschnell und extra für Python gedacht, allerdings auch nicht in Python, sondern C geschrieben.
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Nimmst du nginx oder Cherokee ;-)
cryzed, lass dir nix von Dauerbaustelle einreden, Pure-Python und cross-Plattform ist IMHO besser als Extra-Software, die man extra installieren muss - vielleicht sogar selbst kompilieren muss.
CherryPy habe ich für ein intern genutzes Projekt absolut ausreichend gefunden.
Tornado kann IIRC seinen Stärken nicht unter Windows ausspielen (falls er da überhaupt läuft) und ist auch nicht multithreaded, was bedeutet, dass er durch starkes IO blockiert wird. Die Empfehlung ist hier dann wieder, mehre Python-Prozesse zu starten, die hinter einem nginx als Loadbalancer liegen und das spricht dann wieder gegen Cross-Plattform.
Stefan
CherryPy habe ich für ein intern genutzes Projekt absolut ausreichend gefunden.
Tornado kann IIRC seinen Stärken nicht unter Windows ausspielen (falls er da überhaupt läuft) und ist auch nicht multithreaded, was bedeutet, dass er durch starkes IO blockiert wird. Die Empfehlung ist hier dann wieder, mehre Python-Prozesse zu starten, die hinter einem nginx als Loadbalancer liegen und das spricht dann wieder gegen Cross-Plattform.
Stefan
sma - das sehe ich ganz genauso so wie du, Ich habe es auch lieber wenn Python Module komplett cross-platform und Pure-Python sind ohne zusätzliche "Kompilirerei". Ich werde mir nachher CherryPy mal genauer anschauen - das hört sich vielversprechend an, vielen Dank. Aber ist CherryPy nicht mehr als einfach nur ein WebServer? Ist das nicht ein ganzes Web Framework?
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Ich neige dazu, das als beleidigend zu empfinden, und ich denke, dass "einreden" das falsche Verb für meine zwei obigen Posts ist.sma hat geschrieben:cryzed, lass dir nix von Dauerbaustelle einreden
Ich bin mir sicher das er es nicht beleidigend gemeint hat sondern eher spaßig - natürlich habe ich deine Vorschläge nicht als "einredend" empfunden, es ist aber leider nicht das was ich gesucht habe: Pure-Python und cross-platform. Vielen Dank trotzdem!Dauerbaustelle hat geschrieben:Ich neige dazu, das als beleidigend zu empfinden, und ich denke, dass "einreden" das falsche Verb für meine zwei obigen Posts ist.sma hat geschrieben:cryzed, lass dir nix von Dauerbaustelle einreden
Für die beschriebene Methode reicht es den Ordner wsgiserver aus der Cherrypy installation zu kopieren und zu benutzen. Oder einfach die einzige Datei darin (__init__.py) rauskopieren und umbenennen. Sind dann um die 80 kB. Das ist dann wirklich nur der (Multithreaded) Server und der WSGI Dispatcher. Mit Hilfe von pyOpenSSL kann der dann sogar https bedienen.cryzed hat geschrieben:... Aber ist CherryPy nicht mehr als einfach nur ein WebServer? Ist das nicht ein ganzes Web Framework?
Gruß
Whitie