riss mir die Haare hier heraus zu versuchen, herauszufinden, warum meine beiden Django-Projekte nicht separat bedient werden ... es scheint, dass die statischen Dateien für die zuerst zugegriffen wird die defacto statische Dateien für beide Projekte oder etwas ähnliches.mod_wsgi und mehrere Projekte
Ich versuche, zwei Projekte (die eigentlich verschiedene Versionen des ursprünglichen Projekts sind - mit verschiedenen Datenbanken und unterschiedlichen physischen Standorten) über zwei Domänennamen mit derselben IP-Adresse zu bedienen. Anfangs habe ich Virtualhosts an mehreren IP-Adressen versucht (differenziert nach Port), aber das ist fehlgeschlagen. Leider - ich habe genau das gleiche Problem mit Virtualhosts mit verschiedenen Domain-Namen.
Die Virtual Abschnitt des Apache http.conf ist wie folgt:
WSGIApplicationGroup %{GLOBAL}
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.toastprojects.tk
WSGIScriptAlias/"C:/Python27/sites/Adaptwater/adaptwater/wsgi.py"
Alias /static/ "C:/Python27/sites/Adaptwater/static/"
</VirtualHost>
<Directory "C:/Python27/sites/Adaptwater/static/">
Order deny,allow
Allow from all
</Directory>
<Directory "C:/Python27/sites/Adaptwater/adaptwater/">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName toastprojects.power.on.net
WSGIScriptAlias/"C:/git_clones/adaptwater/adaptwater/adaptwater/wsgi.py"
Alias /static/ "C:/git_clones/adaptwater/adaptwater/static/"
</VirtualHost>
<Directory "C:/git_clones/adaptwater/adaptwater/static/">
Order deny,allow
Allow from all
</Directory>
<Directory "C:/git_clones/adaptwater/adaptwater/adaptwater/">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
I wsgi.py für jeden als so (mit dem absoluten Pfad entsprechend dem bestimmten Projekt Standort) eingerichtet haben:
import os, sys
sys.path.append('C:/git_clones/adaptwater/adaptwater')
sys.path.append('C:/git_clones/adaptwater')
#os.environ.setdefault("DJANGO_SETTINGS_MODULE", "adaptwater.settings")
os.environ['DJANGO_SETTINGS_MODULE'] = "adaptwater.settings"
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Diese auf localhost über den dev-Server (und mit Nginx Serving statische Dateien) zur gleichen Zeit ausgeführt wird funktioniert problemlos. Und wenn ich davon ausgehe, dass ich nacheinander auf die Sites zugreifen und den Apache neu starten möchte - jeder arbeitet extern auf Solo-Basis. Alles offensichtlich, was dieses Problem verursacht?
Cheers, Shane
Update:
An dieser Stelle habe ich zu dem Schluss, dass das, was ich kann tun wollen nicht wegen der getan werden, weniger als perfekt glückliche Ehe von mod_wsgi und die Windows-Plattform (Ich hätte die Plattform erwähnen sollen - vernachlässigt in meiner Eile - Windows 7 Professional 64). Ich kann WSGIDaemonProcess nicht verwenden, und WSGIApplicationGroup muss als global festgelegt werden und von dem, was ich aus den für dieses Problem relevanten Diskussionen entnehmen konnte - das bedeutet, dass ich in einer Sackgasse bin.
Ich habe es geschafft, das zweite Projekt mit keine seltsamen Einstellungen Hybridisierung mit Nginx & FastCgi statt ... als Notlösung dienen. Bis jetzt hat mich diese Combo freundlich behandelt.
Die noch weniger stellare Option von nginx, das statische Dateien und die Proxy-Weitergabe an den django-dev-Server bereitstellt, funktioniert auch als parallele Anordnung für externe Dienste. Müssen noch zwei nginx/fastcgi gediente Versionen des Projekts gleichzeitig versuchen - aber ich werde das als Übung für einen weiteren tollen Tag der Frustration verlassen.
Danke! Werde das ein glühend heißes gehen. – toasterleavings
Dies ist von einem alten Projekt, sollte aber alles haben, was Sie brauchen, um loszulegen: [apache.conf] (https://github.com/twoolie/ProjectNarwhal/blob/master/example_project/apache.conf) – Thomas