Konfiguration für Django, Apache und Nginx

8

Ich habe meine Django-Anwendung auf Apache + mod_wsgi eingerichtet. Um die statischen Dateien zu bedienen, verwende ich Nginx, wie auf Djangos Projekt-Website vorgeschlagen. Ссылка

Apache läuft auf Port 8081 und nginx auf Port 80. Nun haben einige Leute vorgeschlagen, dass meine Konfiguration falsch ist und ich die Rollen von Apache und Nginx umkehren sollte. Ich bin mir nicht sicher, warum das so sein sollte. Und wenn meine Konfiguration wirklich falsch ist, warum sollte die Django Webseite die falsche Methode vorschlagen?

    
Neo 03.02.2011, 16:11
quelle

1 Antwort

12

Die Django-Dokumente, mit denen Sie verlinkt haben, schlagen Ihnen nicht vor, Apache als Reverse-Proxy zu verwenden. Sie schlagen einfach vor, dass Sie einen separaten Webserver verwenden, also würde ich sagen, dass die Dokumente zu diesem Thema nicht klar sind - sie sagen nichts falsch .

Meine erste Antwort ging davon aus, dass Sie nginx als Reverse-Proxy verwenden, da Port 80 der HTTP-Port ist, der verwendet wird, wenn ein Browser versucht, zu einer URL ohne Port zu gehen.

Es gibt zahlreiche vollständige Anleitungen zum Einrichten von nginx + apache über eine schnelle Google-Suche, aber hier ist der Grund für die Einrichtung von nginx:

%Vor%

Sie müssen lediglich die Proxy-Zeilen aus Ihrer Apache-Konfiguration entfernen und stattdessen die Proxy-Anweisungen zu Ihrer nginx.conf hinzufügen.

Wenn Sie Ihre Site wirklich von Port 8081 aus bedienen wollen, könnten Sie möglicherweise nginx auf Port 8081 abhören und Apache auf einen anderen Port hören lassen.

Der Punkt ist, Apache sitzt in einem obskuren Port und bedient nur Anforderungen, die von nginx an ihn gesendet werden, während die statische Dateibereitstellung von nginx gehandhabt wird.

    
Yuji 'Tomita' Tomita 03.02.2011, 16:45
quelle

Tags und Links