Odpowiedź ta zakłada, że chcesz mieć dwie nazwy domeny każdy uruchomiony oddzielnych projektów Django, ale organizowany z tego samego serwera Apache. Jeśli tak nie jest, prosimy sprecyzować swoje pytanie!
Na początek trzeba dwa VirtualHost
wpisy w apache conf (nazwijmy witryn domain1.co.uk
i 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>
musisz również 2 pliki WSGI (wskazał dwa w konf powyżej)
/opt/django/project/domain1/domain1.wsgi
/opt/django/project/domain1/domain2.wsgi
i będzie wyglądać jak
import os
import sys
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
# or project.domain1_settings
application = WSGIHandler()
na settings.py
upewnić się, że oba pliki ustawień różnica SITE_ID = 1
lub SITE_ID = 2
a wskazaniu poprawnej urls.py
ROOT_URLCONF = 'urls'
lub
ROOT_URLCONF = 'domain1_urls'
Wiele z tych kwestii została pochodzą z własnego doświadczenia i ten post blog. Twoje katalogi projektów i nazwy domen wydają się być trochę zagmatwane, zrobiłem co mogłem, aby dopasować je do właściwych miejsc tutaj, ale będziesz musiał dostosować się do własnych celów.
dodatkowe
Jeśli masz dwa miejsca uruchomione z tego samego serwera, trzeba być bardzo ostrożnym, aby zachować spójność nad katalogów projektów, statyczne katalogów plików i plików ustawień itp Z Twojego pytania mówisz twoje pliki ustawień to /opt/django/project/settings.py
i /opt/django/project/domain1_settings.py
Jest to dość mylące, ponieważ wydaje się, że masz jeden katalog projektu (/opt/django/project
). Zdecydowanie zaleciłbym silniejszą separację; Opiszę jak wyżej, może ustawienie projektów (domain1
i domain2
) w katalogach
/opt/django/project/domain1/
/opt/django/project/domain2/
z odpowiednimi ustawieniami plików
/opt/django/project/domain1/settings.py
/opt/django/project/domain2/settings.py
itd. Powinno to ułatwić dostrzec, co się dzieje złego gdzie.
Dziękuję za odpowiedź. Dodałem ustawienia, które zasugerowałeś, ale widzę 500 erro poprzez apache. Podczas przeglądania logów pokazuje, że nie jest w stanie zaimportować mojego nowego pliku ustawień. Nowy plik ustawień znajduje się w folderze projektu maint i mam dodaną linię w pliku wsgi wskazującą na to ----> os.environ ['DJANGO_SETTINGS_MODULE'] = 'domain1_settings' Dzięki, – felix001
Po dodaniu poprawiono ścieżkę sys do pliku wgsi i upewniałem się, że wszystkie moje importowanie projektów/aplikacji były stałe, wszystko zaczęło działać. Many Many Thanks ... – felix001