इस उत्तर धारणा है कि आप दो डोमेन नाम प्रत्येक अलग Django परियोजनाओं चल रहा है करना चाहते हैं बनाता है, लेकिन एक ही अपाचे सर्वर से होस्ट की जा रही। यदि यह मामला नहीं है, तो कृपया अपना प्रश्न परिशोधित करें!
शुरू करने के लिए आप अपने अपाचे conf में दो VirtualHost
प्रविष्टियों की आवश्यकता होगी
# 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>
तुम भी 2 WSGI फ़ाइलों की आवश्यकता होगी (के अपनी साइटों domain1.co.uk
और domain2.co.uk
कॉल) (conf में दो से ऊपर बताया)
/opt/django/project/domain1/domain1.wsgi
/opt/django/project/domain1/domain2.wsgi
और
import os
import sys
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
# or project.domain1_settings
application = WSGIHandler()
कुछ ऐसी दिखाई देगी 0
settings.py
रैंप सुनिश्चित करें कि दोनों सेटिंग्स फ़ाइलों अंतर SITE_ID = 1
या SITE_ID = 2
है बनाने के लिए और आप
ROOT_URLCONF = 'urls'
या
ROOT_URLCONF = 'domain1_urls'
इस सवाल के ज्यादातर व्यक्तिगत अनुभव से प्राप्त किया गया है सही urls.py
को इंगित कि और यह blog पोस्ट। आपकी प्रोजेक्ट निर्देशिकाएं और डोमेन नाम थोड़ा उलझन में प्रतीत होते हैं, मैंने यहां सही जगहों पर फिट करने के लिए अपना सर्वश्रेष्ठ प्रयास किया है, लेकिन आपको अपने उद्देश्यों के लिए समायोजित करने की आवश्यकता होगी।
अतिरिक्त
आप दो साइटों एक ही सर्वर से चल रहा है, तो आप आदि परियोजना निर्देशिका से अधिक स्थिरता, स्थिर फ़ाइल निर्देशिका और सेटिंग्स फ़ाइलों बनाए रखने के लिए अपने प्रश्न आप कहते हैं से बहुत सावधान रहना होगा आपकी सेटिंग्स फाइलें /opt/django/project/settings.py
और /opt/django/project/domain1_settings.py
यह काफी भ्रमित है क्योंकि ऐसा लगता है कि आपके पास एक प्रोजेक्ट निर्देशिका है (/opt/django/project
)। मैं दृढ़ता से मजबूत अलगाव की सिफारिश करता हूं; जैसा कि मैंने ऊपर का वर्णन है, शायद निर्देशिका
/opt/django/project/domain1/
/opt/django/project/domain2/
संगत सेटिंग के साथ में अपनी परियोजनाओं (domain1
और domain2
) की स्थापना फ़ाइलें
/opt/django/project/domain1/settings.py
/opt/django/project/domain2/settings.py
आदि इससे पहचानना क्या गलत कहाँ जा रहा है बनाना चाहिए।
आपके उत्तर के लिए धन्यवाद। मैंने आपके द्वारा सुझाई गई सेटिंग्स को जोड़ा है, लेकिन मैं अपाचे के माध्यम से 500 एरो देख रहा हूं। लॉग के माध्यम से जाने पर यह दिखाता है कि यह मेरी नई सेटिंग्स फ़ाइल आयात करने में असमर्थ है। नई सेटिंग फ़ाइल maint परियोजना फ़ोल्डर के भीतर है और मैं लाइन मेरी WSGI फ़ाइल इसे करने के लिए ----> os.environ [ 'DJANGO_SETTINGS_MODULE'] = 'domain1_settings' धन्यवाद – felix001
ओर इशारा करते हुए, को जोड़ने के बाद भीतर जोड़ लिया है मेरी wgsi फ़ाइल के लिए सही sys पथ और यह सुनिश्चित करना कि मेरे सभी प्रोजेक्ट/ऐप आयात लगातार काम करना शुरू कर रहे थे। कई बहुत धन्यवाद ... – felix001