it-swarm.com.de

Apache + mod_wsgi vs nginx + gunicorn

Ich möchte eine Django-Site bereitstellen (dies ist der Open Source-Edx-Code auf Github).

Ich stehe vor der Wahl zwischen der Verwendung

  1. Apache mit mod_wsgi
  2. nginx mit Gunicorn

Ich habe Apache mit mod_wsgi verwendet und es ist cool genug, aber ich habe keine Erfahrung mit der zweiten Option.

Welche dieser Optionen ist in Bezug auf Geschwindigkeit und in gewissem Maße auch in Bezug auf die Benutzerfreundlichkeit besser geeignet?

NB: Ich müsste zwei verschiedene Django-Sites auf Port 80 und 81 betreiben und von zwei verschiedenen Subdomains aus darauf zugreifen.

23
T. Rex

Nginx ist eine wirklich leichte und benutzerfreundliche Lösung und zusammen mit gunicorn können wir jede wsgi-Anwendung ausführen und sie einfach skalieren. Nginx kann Anfragen besser bearbeiten, da es im Gegensatz zu Apache nicht für jede Anfrage einen neuen Prozess erzeugt.

Ich habe für eine verwandte Frage eine Antwort darauf geschrieben, wie Django mit nginx implementiert werden kann:

Bereitstellen von Django-Projekt mit Gunicorn und Nginx

19
Pranjal Mittal

Nun, die wenigen Millisekunden, die Sie mit Nginx erhalten, werden keinen großen Unterschied in Bezug auf die Zeit machen, die andere Prozesse in Anspruch nehmen. Nginx kann RAM speichern, aber es wäre nur ein großer Unterschied auf Servern mit wenigen RAM. Für bestimmte Anwendungen auf großen Websites kann es einige bemerkenswerte Unterschiede geben, aber dies wird dann zu einer Expertensache.

Der wahre Unterschied für die meisten ist wahrscheinlich die Leichtigkeit des Lernens. Ich finde Apache nicht besonders schwer zu bedienen und das Dokument ist sauber. Die meisten Python-Tutorials, die ich gefunden habe, befassen sich jedoch mit der Verwendung von Nginx mit Gunicorn.

Wenn Sie Apache bereits kennen, ist es wahrscheinlich direkter, es zu verwenden, es sei denn, Sie möchten auch Nginx lernen, um Ihren Lebenslauf zu verbessern.

0
Thib

Ich habe gute Erfahrungen mit Nginx und Gunicorn. Sie arbeiten weiterhin großartig, wenn ich endlich alle Einstellungen richtig vorgenommen und zum Laufen gebracht habe.

Für Nginx und Gunicorn sind dies:

* nginx configuration files (/etc/nginx/sites-enabled/ and /etc/nginx/nginx.conf)
* gunicorn configuration files (/etc/init/gunicorn.conf and /etc/gunicorn.d/) 

Ich habe ein Tutorial für Apache + mod_wsgi gesehen und es scheint so viel einfacher zu sein, es einzurichten.

0
Jdruiter