दिलचस्प पोस्ट
जेएसएन डेटा प्राप्त करने और डेटा को डीकोड करने के लिए सीआरएल का उपयोग कैसे करें? एक्सेस क्वेरी में शीर्ष 10 को कैसे चुनें? फ़ाइल पथ से जावा JTree निर्देशिका संरचना ओवरलोडिंग नया / हटाएं कैसे कमांड लाइन से जेनकींस सुरक्षा सेटिंग्स को रीसेट करें? jQuery आर्ट बनाम सहारा? नंपी सरणी आयाम जावा में अरैज़.एक्वल्स बनाम बराबर है wget + जावास्क्रिप्ट? $ (खिड़की)। डाउनलोड लोड नहीं हो रहा है सी # सभी फाइलों और उपनिर्देशिका FTP के माध्यम से डाउनलोड करें Xcode IOS प्रोजेक्ट केवल "मैक 64-बिट" दिखाता है, लेकिन सिम्युलेटर या डिवाइस नहीं SQL बैकएंड के खिलाफ LINQ के लिए स्केलेबल में शामिल विधि पूर्ण / स्थिर बच्चों के साथ मूल कंटेनर की ऑटो ऊंचाई स्प्रिंग बूट – एप्लिकेशन.आईएमएल से मानचित्र इंजेक्ट करें

एपाचे और mod_wsgi के साथ कई डीजाएं साइटें

मैं एक ही सर्वर के तहत कई साइटों को होस्ट करना चाहता हूं जो डेबियन 5 का उपयोग करता है, मेरा कहना है कि साइट 1, site2 और site3 और मेरी आईपी 155.55.55.1 :

 site1: 155.55.55.1:80 , script at /opt/django/site1/ site2: 155.55.55.1:8080, script at /opt/django/site2/ site3: 155.55.55.1:8090, script at /opt/django/site3/ 

यहां मेरा अपाचे डिफ़ॉल्ट है:

 <VirtualHost *:80> ServerName / ServerAlias */ DocumentRoot /opt/django/site1/ LogLevel warn WSGIScriptAlias / /opt/django/site1/apache/django.wsgi Alias /media /opt/django/site1/media/statics Alias /admin_media /home/myuser/Django-1.1/django/contrib/admin/media </VirtualHost> <VirtualHost *:80> DocumentRoot "/usr/share/phpmyadmin" ServerName /phpmyadmin Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options Indexes FollowSymLinks AllowOverride None Order Deny,Allow Allow from all </Directory> </VirtualHost> 

और यहाँ साइट 1 के लिए मेरी वेबमास्टी कॉन्फ़िगरेशन है, at /opt/django/site1/apache/django.wsgi :

 import os, sys import django.core.handlers.wsgi sys.path.append('/opt/django') sys.path.append('/opt/django/site1') os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings' application = django.core.handlers.wsgi.WSGIHandler() 

मैं site2 और site3 कैसे जोड़ सकता हूं, जो डीजेंगो-आधारित साइट हैं और साइट 1 की तरह काम करेंगे?

Solutions Collecting From Web of "एपाचे और mod_wsgi के साथ कई डीजाएं साइटें"

आपका Servername / ServerAlias ​​निर्देश गलत हैं सर्वरनाम होस्टनाम होना चाहिए आपको शायद सर्वरअलिअस को हटा देना चाहिए

तो बस स्पष्ट और डुप्लिकेट वर्चुअलहोस्ट करें / निर्देशों को सुनो, बस फाइल सिस्टम में पोर्ट नंबर और स्क्रिप्ट के स्थान को बदल रहा है।

अंत में, दस्तावेज़ रूट को अपने डीजेंगो कोड के रूप में सेट न करें क्योंकि यह अपाचे कॉन्फ़िगरेशन के सामान को डाउनलोड करने के लिए गलती से अपने स्रोत कोड को बेनकाब करने में आसान बनाता है। इसलिए, सिर्फ Django साइट्स के लिए VirtualHost से DocumentRoot निर्देश निकालें।

 Listen 80 <VirtualHost *:80> ServerName www.example.com WSGIScriptAlias / /opt/django/site1/apache/django.wsgi Alias /media /opt/django/site1/media/statics Alias /admin_media /home/myuser/Django-1.1/django/contrib/admin/media <Directory opt/django/site1/apache> Order allow,deny Allow from all </Directory> <Directory /home/myuser/Django-1.1/django/contrib/admin/media> Order allow,deny Allow from all </Directory> </VirtualHost> Listen 8080 <VirtualHost *:8080> ServerName www.example.com WSGIScriptAlias / /opt/django/site2/apache/django.wsgi Alias /media /opt/django/site2/media/statics Alias /admin_media /home/myuser/Django-1.1/django/contrib/admin/media <Directory opt/django/site2/apache> Order allow,deny Allow from all </Directory> <Directory /home/myuser/Django-1.1/django/contrib/admin/media> Order allow,deny Allow from all </Directory> </VirtualHost> Listen 8090 <VirtualHost *:8090> ServerName www.example.com WSGIScriptAlias / /opt/django/site3/apache/django.wsgi Alias /media /opt/django/site3/media/statics Alias /admin_media /home/myuser/Django-1.1/django/contrib/admin/media <Directory opt/django/site3/apache> Order allow,deny Allow from all </Directory> <Directory /home/myuser/Django-1.1/django/contrib/admin/media> Order allow,deny Allow from all </Directory> </VirtualHost> 

मैंने स्थिर फाइलों तक पहुंच की अनुमति के लिए निर्देशिका निर्देश खो दिया है। आपको हालांकि पथों की समीक्षा करना चाहिए

सुनिश्चित करें कि आपने पढ़ा है:

http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#Hosting_Of_Static_Files

अधिक जानकारी के लिए।


1 अपडेट करें

बीटीडब्लू, जब आप उसी अपाचे में PHP का उपयोग कर रहे हैं, तो आप mod_wsgi डेमॉन मोड का उपयोग करके बेहतर हो सकते हैं और अपने प्रत्येक अलग प्रोजेक्ट में प्रत्येक जेगैडो इंस्टेंस को पुश कर सकते हैं। इससे उन प्रक्रियाओं को बहु-थ्रेड होने की अनुमति मिलती है, भले ही मुख्य अपाचे प्रक्रिया को PHP के कारण एकल थ्रेडेड करने के लिए मजबूर किया जाता है। प्रीफ़ॉर्क एमपीएम के साथ एम्बेडेड मोड में प्रत्येक प्रक्रिया में कई Django इंस्टेंस चलाना से अंतिम परिणाम बहुत कम स्मृति का उपयोग किया जाएगा आपका डीजेंगो कोड सिर्फ थ्रेड सुरक्षित होना चाहिए। उपरोक्त के अतिरिक्त विन्यास WSGIDaemonProcess / WSGIProcessGroup को प्रत्येक Django VirtualHost में जोड़ना होगा, जहां प्रत्येक वर्चुअलहोस्ट के लिए डेमन प्रोसेस समूह का नाम अलग है।

 <VirtualHost *:80> WSGIDaemonProcess site1 display-name=%{GROUP} WSGIProcessGroup site1 ... existing stuff </VirtualHost> <VirtualHost *:8080> WSGIDaemonProcess site2 display-name=%{GROUP} WSGIProcessGroup site2 ... existing stuff </VirtualHost> <VirtualHost *:8090> WSGIDaemonProcess site3 display-name=%{GROUP} WSGIProcessGroup site3 ... existing stuff </VirtualHost> 

यह आपको पूरी तरह से अपाचे के पुनरारंभ किए बिना प्रत्येक Django इंस्टेंस को और अधिक आसानी से पुनरारंभ करने की अनुमति देता है। पढ़ें:

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Delegation_To_Daemon_Process http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

एक जगह पर सभी वर्चुअलहोस्ट कॉन्फ़िगरेशन को ठीक करना ठीक काम करता है, लेकिन / etc / apache2 / sites-available में प्रत्येक साइट के लिए फाइल में उन्हें अलग करके डेबियन की अपनी अवधारणा है, जो इन्हें सिमलिंकिंग द्वारा सक्रिय कर दिया है ../sites-enabled इस तरह से एक सर्वर-व्यवस्थापक प्रत्येक साइट-व्यवस्थापक यूनिक्स उपयोगकर्ताओं के लिए कॉन्फ़िग फ़ाइल के अलग-अलग एक्सेस अधिकार भी दे सकता है, स्क्रिप्ट देख सकते हैं कि कोई साइट सक्रिय है या नहीं।

असल में डीजेगो-एडमिन प्रतिष्ठानों के लिए एक केंद्रीय कैसे करना अच्छा होगा, वर्तमान डॉक्स, लिंक्स और ब्लॉग आलेखों की मौजूदा संख्या डीजेंगो के प्रसार के लिए वास्तव में उपयोगी नहीं है।