2012-07-17 3 views
6

Ich verwende uWSGI und Nginx, um meine Django-Website (Version 1.4) zu betreiben. Meine Dateistruktur ist django_mysite/django_mysite /, in der sich eine Datei wsgi.py befindet.
Ich bekomme immer 502 Schlechte Gateway-Fehler. Ich habe andere Server laufen von Nginx und sie funktionieren gut.nginx django 502 schlechtes Gateway

Meine nginx config:

server { 
    listen  80; 
    server_name beta.example.com; 

    keepalive_timeout 70; 

    root /path/to/django_mysite/django_mysite; 


    location root { 
     root html; 
     uwsgi_pass localhost:9000; 
     uwsgi_param UWSGI_SCRIPT django_wsgi; 
     include  uwsgi_params; 
    } 

    location/{ 
     uwsgi_pass localhost:9000; 
     include  uwsgi_params; 
     uwsgi_param SCRIPT_NAME /django; 
     uwsgi_param UWSGI_SCRIPT django_wsgi; 
     uwsgi_modifier1 30; 
    } 
} 

Meine wsgi.py Datei: import sys import os

sys.path.append('/path/to/django_mysite/') 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_mysite.settings") 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

Der Fehler im Protokoll ist:

*3 recv() failed (104: Connection reset by peer) while reading response header from upstream 

Dank

+0

Was sagen die Protokolle? –

+0

* 42 connect() zu Unix: ///tmp/uwsgi.sock fehlgeschlagen (2: Keine solche Datei oder Verzeichnis) beim Verbinden mit Upstream –

Antwort

1

Die Lösung, die ich fand, war diese: die Datei uwsgi.ini, die ich gemacht habe, um die uwsgi-Worker zu erstellen, hat keinen Socket angegeben. Also habe ich eine andere .ini-Datei erstellt und einen Socket dafür erstellt. Den gleichen Socket habe ich in die Datei nginx conf unter uwsgi_pass gestellt. Hier finden Sie einen Link zu den Webseiten von django zur Konfiguration von uwsgi.

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/

1

ich das gleiche Problem konfrontiert, aber ich figered es in folgenden Weise aus.

Wenn Drittanbieter-App in Ihrem Projekt enthalten ist, sollte es auf Ihrem Server auch installiert werden, wie Süden ist Drittanbieter-App. Berücksichtigen Sie, dass der Süden in Ihrer Datei settings.py enthalten ist, dann sollte auch der Süden auf Ihrem Server installiert sein. Wenn sich dieses Modul hier in Südrichtung befindet, ist es bereits auf dem Server installiert, dann versuchen Sie es zu aktualisieren. Da es möglich ist, dass Sie eine aktualisierte Version des Moduls auf dem lokalen Computer verwenden und eine ältere Version auf dem Server installiert ist.