Seite 1 von 1
gunicorn + nginx vs mod_wsgi apache2
Verfasst: Sonntag 8. September 2013, 15:05
von seishin
Ja wie der Titel schon sagt...
Würde mich sehr über Erfahrungsberichte (Vorteile/Nachteile) freuen und natürlich eure persönliche Geschmacksrichtung.
Da ich längere Zeit auf mod_wsgi und apache2 unterwegs war, vor kurzem über gunicorn und nginx stolperte im Zusammenhang mit Django... und das Testhalber aufgesetzt habe, es sich auch geschmeidiger anfühlt...
Wollte ich mal in die Runde fragen.
Gruß
sei
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Sonntag 8. September 2013, 17:18
von Leonidas
Wie viel Last hast du denn?
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Sonntag 8. September 2013, 18:09
von kbr
Es sind beides stabile Kombinationen, wobei Nginx/gunicorn die weniger speicherhungrige ist. Zudem bist Du nicht auf eine Python-Version festgelegt und kannst für verschiedene Projekte auch serverseitig virtualenv nutzen. Dieser Vorteil entfällt, sobald Dein Projekt den Server komplett auslastet. In diesem Fall wird die Django-Anwendung (und ggf. die db-Anbindung) zum Engpass und es stellt sich die Frage, ob Du lieber Apache/mod_wsgi oder Nginx/gunicorn skalierst. Ich würde letzteres bevorzugen.
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Sonntag 8. September 2013, 18:12
von seishin
Meine derzeitigen Projekte verursachen nicht sehr viel Last.
Doch jenes an welchem ich derzeit Arbeit wird vermute ich einiges an Last verursachen.
@kbr, vielen Dank! Deine Worte sind jene welche man auch aus dem englischen Raum findet.

Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Sonntag 8. September 2013, 20:16
von Leonidas
kbr hat geschrieben:Zudem bist Du nicht auf eine Python-Version festgelegt und kannst für verschiedene Projekte auch serverseitig virtualenv nutzen. Dieser Vorteil entfällt, sobald Dein Projekt den Server komplett auslastet.
Verschiedene virtualenvs kannst du genauso auch mit mod_wsgi haben, so läuft das bei mir schon seit einiger Zeit.
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Sonntag 8. September 2013, 22:38
von kbr
Leonidas hat geschrieben:Verschiedene virtualenvs kannst du genauso auch mit mod_wsgi haben, so läuft das bei mir schon seit einiger Zeit.
Ah, schön — dann reduziert sich der Vorteil in dieser Hinsicht auf verschiedene Python-Versionen.
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Montag 9. September 2013, 17:11
von seishin
Ich werde es wohl einfach mal ausprobieren.
Habe hier eine Django Bude gefunden, welche gunicorn & nginx benutzt:
https://www.divio.ch
Vielen Dank schon mal!

Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Montag 28. Oktober 2013, 12:38
von seishin
Nachtrag: Bin auf nginx/gunicorn umgestiegen.
Wieso so ganz genau kann ich noch nicht mal sagen. Ich würde weiterhin behaupten Geschmackssache.
Jedoch gefällt mir die direkte Unterstützung gunicorns von Django sehr sehr gut!
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Dienstag 29. Oktober 2013, 10:22
von JonasR
Fange gerade ein Projekt mit nginx + Gunicorn + Flask
Wollte ich nur mal in den Raum werfen

Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Dienstag 29. Oktober 2013, 14:35
von apollo13
kbr hat geschrieben:Es sind beides stabile Kombinationen, wobei Nginx/gunicorn die weniger speicherhungrige ist.
Bitte nicht immer solche Unwahrheiten verbreiten; ein ordentlich konfigurierter Apache braucht weniger Speicher als Gunicorn

Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Dienstag 29. Oktober 2013, 15:00
von BlackJack
Es ist ja auch die Frage wofür Speicher verbraucht wird. Ein Webserver der viel Speicher zum Cachen von statischen Inhalten verbraucht kann besser/schneller sein, als einer der um jeden Preis möglichst wenig Arbeitsspeicher belegen möchte.
Solche pauschalen Vergleiche bringen also unter Umständen nicht viel. Wie so oft bei solchen Fragen sollte man Entscheidungen aufgrund konkreter Anforderungen treffen und wenn mehrere Kombinationen diese Anforderungen grundsätzlich erfüllen entweder das nehmen was einem mehr zusagt wenn es schnell genug ist, oder unter möglichst realen Bedingungen *messen* was besser ist.
Was den Speicherverbrauch angeht kann ich mir vorstellen das bei einer komplexeren Webanwendung der Speicherbedarf der eigentlichen Webanwendung und/oder der Datenbank falls sie auf dem selben Rechner läuft, so gross wird, dass ein Unterschied bei den Webservern auch nicht mehr ins Gewicht fällt.
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Dienstag 29. Oktober 2013, 15:51
von DasIch
apollo13 hat geschrieben:Bitte nicht immer solche Unwahrheiten verbreiten; ein ordentlich konfigurierter Apache braucht weniger Speicher als Gunicorn

Apache ist aber nunmal per default alles andere als ordentlich konfiguriert, zumindest im Bezug auf Python Web Anwendungen.
Insofern ist man mit nginx und gunicorn im Zweifel besser dabei, es sei den man kann einen Apache richtig konfigurieren oder hat Lust sich damit zu beschäftigen.
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Dienstag 29. Oktober 2013, 19:36
von Leonidas
Außerdem kann man in Apache
mod_
python verwenden, was viel besser ist als dieser
WSGI-Quatsch 
Ist auch total sinnlos dass man Python-Applikationen über ein gemeinsames Interface einbinden kann, war damals viel besser als man alles für CGI, FastCGI, SCGI, mod_python und SimpleHTTPServer via Reverse Proxy konfiguriert hat.
Re: gunicorn + nginx vs mod_wsgi apache2
Verfasst: Mittwoch 30. Oktober 2013, 20:50
von kbr
apollo13 hat geschrieben:Bitte nicht immer solche Unwahrheiten verbreiten; ein ordentlich konfigurierter Apache braucht weniger Speicher als Gunicorn

Da es nicht mein Anliegen ist Unwahrheiten zu verbreiten, habe ich Apache wahrscheinlich nie ordentlich konfiguriert (d.h. Module rausgeschmissen). Vermutlich ist meine Konfiguration von Nginx gegenwärtig auch nicht optimal
