Ich bin ein Neuling, der dem Gunicorn-Django-Tutorial von Michal Karzynski folgt. Ich verwende Django 1.7.4 unter Ubuntu 14 und mein Setup für das Gunicorn-Skript ist wie folgt
%Vor%Wenn ich die Bindungseinstellung auf Unix: $ SOCKFILE ändere, läuft mein Skript noch, aber ich kann keine Verbindung mit meinem Browser herstellen. In diese Frage habe ich gelesen, dass es nicht ratsam ist, 0.0.0.0 zu implementieren: 8000 auf einem Produktionsserver.
Ich weiß ein wenig über Unix-Sockets, aber ich weiß nicht, wie ich die Unix-Socket-Datei verwenden kann, um meine Site zu bedienen. Ich habe versucht, die Socket-Datei als Superuser zu bearbeiten, aber das Betriebssystem lässt mich nicht öffnen.
Wie kann ich die Socket-Datei einrichten, damit ich meine Seiten bedienen kann?
PS: Hier ist meine nginx Konfigurationsdatei
%Vor%Sie sollten einen Reverse-Proxy wie nginx verwenden, um vor Gunicorn zu sitzen, und das ist es, was Ihrer Site wirklich dient. Sie kommunizieren über den Socket.
Die Gunicorn-Dokumentation hat eine Beispiel-nginx-Konfiguration , die genau funktioniert dass, obwohl Sie offensichtlich die Sockfile übereinstimmen sollten, was Sie in Ihrer gunicorn-Konfiguration eingegeben haben.
Sockets sind eine viel schnellere und effizientere Alternative zu Netzwerkports, wenn Sie lokal auf einem Server arbeiten. Wenn sich Ihr nginx-Server und Ihre django-App jedoch auf verschiedenen Servern befinden, müssen Sie bestimmte IP-Verbindungen öffnen.
Wenn Sie in Ihrem Beispiel Sockets verwenden möchten, müssen Sie nur die Adresse des Upstream-Servers auf Ihre Socket-Datei verweisen. Ändern Sie die nginx-Konfiguration als
%Vor%