2012-03-30 14 views
16

शुरू करते समय "अमान्य आदेश 'WSGIScriptAlias' त्रुटि मिल रही है, मैं अपने Django प्रोजेक्ट को EC2 सर्वर पर तैनात करना चाहता हूं। मैंने mod_wsgi स्थापित किया।मुझे अपाचे

और django के ट्यूटोरियल में कॉन्फ़िगरेशन बनाया गया।

मैं हो रही है निम्नलिखित:

Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration 

कारण क्या है? mod_wsgi सही ढंग से स्थापित नहीं है?

LoadModule wsgi_module  libexec/httpd/mod_wsgi.so 
LoadModule alias_module libexec/httpd/mod_alias.so 


WSGIScriptAlias//usr/local/apache2/htdocs/mysite/mysite/wsgi.py 
WSGIPythonPath /usr/local/apache2/htdocs/mysite/mysite 


<Directory /path/to/mysite.com/mysite> 
<Files wsgi.py> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 
+0

आप इस जानकारी के आधार पर किसी को भी आपकी सहायता करने की उम्मीद कैसे कर सकते हैं। – Marcin

+0

क्या आप सुनिश्चित हैं कि उपयोगकर्ता अपाचे के रूप में 'mod_wsgi.so' पर पढ़ने की अनुमति है? –

उत्तर

13

त्रुटि विशेष रूप से इंगित करती है कि mod_wsgi अपाचे में लोड नहीं किया जा रहा है।

क्या फ़ाइल में है:

LoadModule wsgi_module  libexec/httpd/mod_wsgi.so 

आप इतना है कि यह लोड किया जाएगा अगर आप mod_wsgi के लिए distro द्विआधारी संकुल इस्तेमाल किया उचित लिनक्स distro प्रबंधन कमांड के साथ mod_wsgi मॉड्यूल सक्षम किया था?

+1

मेरे लिए यह निम्न आदेश जारी करके काम करता है: sudo a2enmod wsgi (http://stackoverflow.com/a/20627328/811335) –

38

समस्या यह है कि mod_wsgi ठीक से स्थापित नहीं है।

समाधान (अपाचे 2 का प्रयोग करके):

  1. अपाचे स्थापित:

    $ sudo apt-get install apache2 
    
  2. libapache2-mod-wsgi स्थापित:

    $ sudo apt-get install libapache2-mod-wsgi 
    

और यह ठीक काम करना चाहिए।

+0

आधिकारिक दस्तावेज़ों में libapache2-mod-wsgi क्यों शामिल नहीं है? बहुत धन्यवाद @om चौधरी – brennan

0

बस को जोड़ने के लिए, कैसे मैं बस के लिए खोज मेरी समस्या हल यदि आप मॉड्यूल के स्थान पता नहीं है उन्हें

locate mod_alias.so 

तो आप प्राप्त कर सकते हैं उत्पादन

तरह
/usr/lib/apache2/modules/mod_alias.so 

तो आप अपने कॉन्फ़िग फ़ाइल में उस स्थान में जोड़ सकते हैं

LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so 
1

मुझे अपाचे 2.2 के साथ ओपनएसयूएसई 12.2 पर एक ही समस्या का सामना करना पड़ा।

भले ही wsgi स्थापित है, यह जांचना एक अच्छा विचार है कि यह सक्रिय किया गया है या नहीं। क्या मेरा मतलब यह है:

#outputs a list of registered modules 
/usr/sbin/httpd2 -M 

तो wsgi_module (shared), प्रकट नहीं होता है चर APACHE_MODULES करने के लिए wsgi जोड़ने के लिए, फ़ाइल /etc/sysconfig/apache2

अंदर इस तरह से मैं httpd.conf से पूरी तरह लाइन LoadModule से बच सकते हैं।