Setup django mit WSGI und Apache

8

Ich wurde auf mod_wsgi und apache anstatt mod_python verkauft. Ich habe alle Teile installiert (django, apache, mod_wsgi), aber ein Problem mit der Bereitstellung hatte.

Ich bin auf osx 10.5 mit Apache 2.2 und django 1.0b2, mod_wsgi-2.3

Meine Anwendung heißt tred.

Hier sind die relevanten Dateien: httpd-vhosts (in httpd-conf enthalten)

%Vor%

mod_wsgi-handle.wsgi

%Vor%

Wenn ich zu Ссылка gehe, erhalte ich eine Verzeichnisliste statt der gerenderten Website. Ich denke, ich habe die Tutorials richtig verfolgt, aber es ist offensichtlich nicht richtig. Was kann ich tun, damit dies funktioniert?

    
Hyposaurus 31.08.2008, 12:03
quelle

4 Antworten

6

Was passiert, wenn Sie die Alias / -Direktive entfernen?

    
John Millikin 31.08.2008, 18:20
quelle
7

Beachten Sie, dass Alias- und WSGIScriptAlias-Anweisungen nicht die gleiche Priorität haben. Daher werden sie nicht in der Dateireihenfolge wie beschrieben verarbeitet. Stattdessen erhalten alle Alias-Anweisungen Vorrang vor WSGIScriptAlias-Anweisungen. Somit wäre es nicht von Bedeutung gewesen, wenn das Alias ​​für '/' nach WSGIScriptAlias ​​erschienen wäre, hätte es immer noch Vorrang.

    
Graham Dumpleton 24.06.2009 12:39
quelle
5
  

Es funktioniert. Ich habe keine Ahnung warum, aber es tut es.

Für zukünftige Referenz:

Es funktioniert, weil Apache Alias-Direktiven in Reihenfolge verarbeitet und die erste Übereinstimmung verwendet. Es traf immer Alias / , was alles entspricht, bevor WSGIScriptAlias .

Aus der mod_alias -Dokumentation :

  

Zuerst werden alle Redirects verarbeitet, bevor Aliase verarbeitet werden, und daher wird für eine Anfrage, die mit Redirect oder RedirectMatch übereinstimmt, niemals Aliase angewendet. Zweitens werden die Aliase und Redirects in der Reihenfolge verarbeitet, in der sie in den Konfigurationsdateien erscheinen, wobei die erste Übereinstimmung Vorrang hat.

    
John Millikin 31.08.2008 22:51
quelle
2

Folge diesem Tutorial - Ссылка

Sie versuchen, den Apache / var / www / Ordner und die Django App sowohl im root (/) zu hosten. Da die Alias-Direktive Vorrang vor WSGIScriptAlias ​​hat, wird das Apache-Verzeichnis gerendert.

Sie können versuchen, die Django App unter / app zu hosten. Alternativ können Sie den Ordner / var / www / an einem anderen Ort wie / public

hosten     
Shashank Singla 22.07.2013 20:14
quelle

Tags und Links