2014-11-13 3 views
7

Ich habe eine Django-Webanwendung mit dem Standard-Localhost erstellt, aber ich versuche, sie auf einem Server einzurichten, so dass ich eine Postgre-Datenbank konfigurieren und fortfahren kann, ohne die Datenbank neu erstellen zu müssen später.Gunicorn wird nicht an meine Anwendung gebunden

Ich hosten die Website durch einen digitalen Ozean Ubuntu 14 Tröpfchen. Bei der Erstellung des Tröpfchens habe ich ausgewählt, dass es bereits für Django vorkonfiguriert ist. Es verwendet Nginx und Gunicorn, um die Site zu hosten.

Als ich zum ersten Mal die Instanz des Servers erstellte, wurde eine grundlegende Django-App konfiguriert, um mit der angegebenen IP zu arbeiten. Und es tat es.

Ich habe versucht, mein Projekt in das gleiche Verzeichnis wie das Projekt zu kopieren, vorausgesetzt, es würde auf dem Python-Pfad ('/ home/project') leben und konfigurierte das nginx 127.0.0.1:8000 für einige der Dokumentation I gefunden.

Ich glaube, das Problem liegt in, wenn ich versuche, Gunicorn zu binden. Ich bekomme den folgenden Fehler mit dieser Eingabe.

gunicorn -b 127.0.0.1:8000 GenericRestaurantSystem/wsgi.py: Anwendung

ImportError: Failed to find application, did you mean 'program/wsgi:application'? 

Ich bin nicht 100% sicher, aber es scheint, als ob gunicorn ist nichts serviert (oder nicht mal an) an dieser Stelle.

Irgendwelche Vorschläge, um diese Anwendung erfolgreich zu binden?

Antwort

19

Nun, das ist nicht, wie Sie auf die WSGI-Datei mit Gunicorn beziehen. Siehe the docs:

Der Modulname kann ein vollständiger gepunkteter Pfad sein. Der Variablenname bezieht sich auf eine WSGI-Callable, die im angegebenen Modul gefunden werden soll.

Also, wenn Ihr wsgi.py Datei in GenericRestaurantSystem/wsgi.py ist, sollte Ihr Befehl sein

gunicorn -b 127.0.0.1:8000 GenericRestaurantSystem.wsgi:application 
5

Ich denke, es sollte

gunicorn GenericRestaurantSystem.wsgi:application 
0

für mich diese Arbeit wie Charme sein :)

cd ~/myproject 
gunicorn —bind 0.0.0.0:8000 myproject.wsgi:application 
0

Ich hatte das gleiche Problem und bekam es damit zu arbeiten:

gunicorn -b 127.0.0.1:8000 wsgi:application 

Ich legte die wsgi.py Datei auf dem gleichen Niveau wie manage.py.