Bereitstellen der Django-App mit dem Passagier

8

Ich kann alles auf ihrem Wiki durchgehen - und dann bin ich verloren. Ссылка

Ich habe eine leere Django-Vorlage, und wenn ich versuche, etwas zu ändern, erhalte ich einen Fehler von 500 internen Servern.

Ich habe meine django-App vollständig lokal entwickelt und möchte sie nur online hosten - dachte, es wäre einfach, aber lerne langsam, dass es nicht ist.

Ich lade meine App "videos" in dieses Verzeichnis und lege sie dann in die installierten Apps und führe "python manage.py syncdb" aus, das keine Fixtures findet (was ich seltsam fand).

Von dort erhält es nur einen internen Serverfehler.

Hier ist der Fehler, den ich bekomme: Ссылка und hier ist das Fehlerprotokoll:

%Vor%

Ich habe jetzt seit 6 Stunden versucht und kann nicht herausfinden, was ich falsch mache. Ich denke, ich verstehe einfach nicht, wie ich überhaupt eine Anwendung bereitstellen soll - mein Denkprozess ist jetzt, dass ich meine lokal gehostete App nehme und alle Dateien in der Standard-Django-Vorlage online ersetze. Ich sehe nicht, warum das nicht funktionieren sollte, aber es ist nicht. Ich habe das "Hallo Welt App" Beispiel versucht, indem ich diesen Code in meiner passagier_wdgi Datei verwendet habe und es funktioniert ...

%Vor%

Jede Richtung wäre hilfreich.

BEARBEITEN: Hier sind die Inhalte meiner passagier_wsgi.py-Datei, die hilfreich sein können (obwohl sie automatisch von dreamhost generiert werden ... also wäre es richtig).

%Vor%     
brandonmat 24.08.2011, 15:37
quelle

4 Antworten

7

Ich hatte das gleiche Problem. Die Lösung war, den Ordner meiner Anwendung in der Datei wsgi_passenger.py

hinzuzufügen %Vor%

Dieser Link war sehr nützlich für mich: Ссылка

    
mquasar 27.08.2011 07:11
quelle
7

Wenn Sie django & gt; 1.7 verwenden, ersetzen Sie die letzte Zeile durch

%Vor%     
Trinh Hoang Nhu 23.10.2014 08:30
quelle
1

Es ist schwierig, genau zu wissen, was Sie falsch machen, ohne Ihr Setup zu sehen. Ich folgte den Anweisungen und es war nicht so schwer.

Eine Sache, die Sie tun können, um Ihre Anwendung zu debuggen, ist das Ausführen von manage.py. Es wird nicht in der Lage sein, an einen Socket zu binden (und wenn dies der Fall ist, wird es nach ein paar Minuten automatisch erkannt), aber das wird zumindest angezeigt, wenn andere Probleme die Ausführung Ihrer App verhindern.

Noch eine Anmerkung: Die Datei heißt passenger_wsgi.py und sollte im Stammverzeichnis Ihrer Site liegen. Zum Beispiel habe ich ~/testing.tustincommercial.com/passenger_wsgi.py , und mein gesamter Projektcode lebt unter ~/testing.tustincommercial.com/oneclickcos . Mein statischer Inhalt lebt unter ~/testing.tustincommercial.com/public .

Es kann hilfreich sein, eine Middleware zur Fehlerbehandlung zu installieren, damit sich Fehler nicht vollständig auf den Beifahrer ausbreiten und somit einen Fehler von 500 auslösen.

Mein wsgi_passenger.py ist:

%Vor%

Das macht eine Menge Zeug, von denen die meisten nicht unbedingt notwendig sind - alles oben ist, um sicherzustellen, dass die Bibliotheken, die ich installiert habe, verfügbar sind. Das Zeug an der Unterseite installiert Middleware. Sie sind wahrscheinlich besser dran mit paste.exceptions.errormiddleware.ErrorMiddleware , es sei denn, der Debugger funktioniert für Sie (auf Dreamhost funktioniert das nicht).

Bearbeiten: Ich denke, deine Konfiguration ist falsch. Bitte gehen Sie in das Verzeichnis, in dem sich Ihr Projekt befindet, und verwenden Sie pwd , um den vollständigen Pfad zu erhalten. Ich denke, du wirst feststellen, dass du deine Wege nicht richtig verstanden hast.

    
Marcin 24.08.2011 15:58
quelle
0

Ich hatte genau das gleiche Problem. Die Antworten hier bringen mich in die richtige Richtung, danke. Ich benutze virtualenv mit meiner Django-App und die os.getcwd () hat es für mich getan.

%Vor%     
Daniel Backman 07.06.2013 13:44
quelle

Tags und Links