Diese Antwort macht die Annahme, dass Sie zwei Domain-Namen jeweils laufende separate Django Projekte haben wollen, aber aus dem gleichen Apache-Server gehostet werden. Wenn dies nicht der Fall ist, verfeinern Sie Ihre Frage!
So starten Sie mit zwei VirtualHost
Einträge in Ihrer Apache-conf brauchen werden (lassen Sie uns Ihre Websites rufen domain1.co.uk
und domain2.co.uk
)
# Virtual hosts setup
NameVirtualHost *
<VirtualHost *>
ServerName domain1.co.uk
WSGIDaemonProcess APPLICATION_NAME processes=5 python-path=/opt/django/project/domain1:/home/USERNAME/webapps/APPLICATION_NAME/lib/python2.6 threads=1
WSGIScriptAlias//opt/django/project/domain1/domain1.wsgi
</VirtualHost>
<VirtualHost *>
ServerName domain2.co.uk
WSGIDaemonProcess APPLICATION_NAME_www processes=5 python-path=/opt/django/project/domain2:/home/USERNAME/webapps/APPLICATION_NAME/lib/python2.6 threads=1
WSGIScriptAlias//opt/django/project/domain2/domain2.wsgi
</VirtualHost>
Sie auch 2 wsgi Dateien müssen (wies zwei in der conf oben)
/opt/django/project/domain1/domain1.wsgi
/opt/django/project/domain1/domain2.wsgi
und wird so etwas wie
aussehen
import os
import sys
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
# or project.domain1_settings
application = WSGIHandler()
Auf den settings.py
sicher, dass beide Einstellungen Dateien Differenz SITE_ID = 1
oder SITE_ID = 2
und dass Sie auf die richtige urls.py
ROOT_URLCONF = 'urls'
oder
ROOT_URLCONF = 'domain1_urls'
Ein großer Teil dieser Frage darauf hat aus eigener Erfahrung übernommen wurden und dies blog Post. Ihre Projektverzeichnisse und Domainnamen scheinen ein wenig verwirrend zu sein. Ich habe mein Bestes getan, um sie an die richtigen Stellen zu setzen, aber Sie müssen sich für Ihre eigenen Zwecke anpassen.
Zusätzliche
Wenn Sie zwei Seiten haben aus dem gleichen Server ausgeführt wird, werden Sie sehr vorsichtig sein müssen, um die Konsistenz über Projektverzeichnisse zu halten, statische Dateiverzeichnisse und Einstellungsdateien usw. Aus Ihrer Frage Sie sagen Ihre Einstellungsdateien sind /opt/django/project/settings.py
und /opt/django/project/domain1_settings.py
Dies ist ziemlich verwirrend, da es scheint, dass Sie ein Projektverzeichnis haben (/opt/django/project
). Ich würde eine stärkere Trennung dringend empfehlen; wie ich oben beschreiben, vielleicht Ihre Projekte (domain1
und domain2
) in Verzeichnissen
/opt/django/project/domain1/
/opt/django/project/domain2/
mit entsprechenden Einstellungen Einstellungsdateien
/opt/django/project/domain1/settings.py
/opt/django/project/domain2/settings.py
usw. Dies sollte es leichter zu erkennen, was falsch wohin geht.
Vielen Dank für Ihre Antwort. Ich habe die Einstellungen hinzugefügt, die Sie vorgeschlagen haben, aber ich sehe ein 500-erro über Apache. Beim Durchlaufen der Logs zeigt sich, dass es meine neue Einstellungsdatei nicht importieren kann. Die neue Einstellungsdatei ist im maint Projektordner, und ich habe die Zeile hinzugefügt: In meiner wsgi Datei ----> os.environ [ ‚DJANGO_SETTINGS_MODULE‘] = ‚domain1_settings‘ Dank ihn zeigen, – felix001
Nach der Zugabe Sys Pfad zu meiner wgsi Datei korrigieren und sicherstellen, dass alle meine Projekt/App Importe konstant waren, alles begann zu arbeiten. Vielen vielen Dank ... – felix001