Was ist gunicorn.sock?

8

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%     
user1801060 07.02.2015, 08:08
quelle

2 Antworten

3

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.

    
Daniel Roseman 07.02.2015 09:31
quelle
2

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%     
Kashif Siddiqui 02.04.2016 11:19
quelle

Tags und Links