আমি আমার স্থানীয় উবুন্টু মেশিনে একটি জাঙ্গো অ্যাপ্লিকেশন ব্যবহার করার চেষ্টা করছি। তবে সাইটটি কাজ করে না এবং আমার /var/log/apache2/errors.log
এই জাতীয় বার্তাগুলিতে পূর্ণ:
ImportError: No module named site
আমার /var/log/apache2/error.log
(আজকের জন্য) দেখতে এটির মতো:
$ cat error.log | uniq -c
1 [Wed Jun 29 09:37:37 2011] [notice] Apache/2.2.17 (Ubuntu) mod_wsgi/3.3 Python/2.7.1+ configured -- resuming normal operations
12966 ImportError: No module named site
আমি যখন আমার মেশিনটি চালু করি তখন এটি সূচনা হয়, তারপরে 12,966 লাইন সমস্ত no module named site
বার্তা বলে
একটি তারিখের সময় ক্ষেত্রের অভাব নোট করুন। ওয়েবসাইটে না যাওয়ার সময়ও এই ত্রুটিগুলি পুনরাবৃত্তি করা হয় (যেমন ওয়েব অনুরোধ না করার সময়ও)। কোনও ব্রাউজারে ওয়েবসাইটে যাওয়ার সময়, এটি কেবল স্তব্ধ হয়ে যায়, যেন কোনও বড় ডাউনলোডের জন্য অপেক্ষা করে।
সেটিংস
অ্যাপাচি মডিউলগুলি
আমি পাইপ দিয়ে ইনস্টল প্রচুর প্যাকেজ (Incl। Django 1.1) সহ অজগর 2.5 ভার্চুয়ালেনভ ব্যবহার করছি। আমি মোড_উজি লোড করেছি:
$ ls -l /etc/apache2/mods-enabled/wsgi*
lrwxrwxrwx 1 root root 27 2010-10-04 16:50 /etc/apache2/mods-enabled/wsgi.conf -> ../mods-available/wsgi.conf
lrwxrwxrwx 1 root root 27 2010-10-04 16:50 /etc/apache2/mods-enabled/wsgi.load -> ../mods-available/wsgi.load
আমি লোকালহোস্টে সেট করা একটি ডোমেন নাম হিসাবে "tix" ব্যবহার করি /etc/hosts
$ grep tix /etc/hosts
127.0.0.1 tix
অ্যাপাচি কনফিগারেশন
এখানে আমার অ্যাপাচি কনফিগারেশন (আপনি এটিকে কাজ করার জন্য কিছু প্রচেষ্টা, মন্তব্য করা লাইনগুলি দেখতে পারেন) :
# mod-wsgi enabled virtual host
WSGISocketPrefix /home/rory/tix/tix_wsgi/tmp
WSGIPythonHome /home/rory/tix/virtualenv2.5/lib/python2.5/
UnSetEnv PYTHONSTARTUP
SetEnv PYTHONPATH /home/rory/tix/virtualenv2.5/lib/python2.5/
#WSGIPythonEggs /home/rory/svn/tix/tmp/python-eggs
<VirtualHost 127.0.0.1:80>
ServerName tix
Alias /media /home/rory/tix/tix/media
Alias /selenium /home/rory/tix/tix/tests/selenium
<Directory /home/rory/tix/tix/media>
SetHandler None
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess tix user=tix_wsgi group=tix_wsgi processes=4 threads=1 python-path=/home/rory/tix/virtualenv2.5/lib/python2.5/site-packages
WSGIScriptAlias / /home/rory/tix/tix/apache/loader.wsgi
WSGIProcessGroup tix
CustomLog /var/log/apache2/tix_access.log combined
ErrorLog /var/log/apache2/tix_error.log
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
</Location>
<IfModule rewrite_module>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^media.tix$ [NC]
RewriteRule .? http://tix/media%{REQUEST_URI} [R=301,L]
</IfModule>
</VirtualHost>
ডাব্লুএসজি লোডার
এখানে আমার লোডার.ওগজি:
আমি import site
এই ফাইলটিতে থাকতাম, যা আমি ভেবেছিলাম যে সমস্যাটি হতে পারে তবে আমি এটি সরিয়ে দিয়েছি এবং ত্রুটিগুলি সামনে আসতে থাকে।
# loader.wsgi - WSGI adapter for tix django project
# The python paste wrapper catches apache 500 errors (Internal Server Errors) and gives debug output
# See http://pythonpaste.org/modules/exceptions.html
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'tix.settings.base'
from paste.exceptions.errormiddleware import ErrorMiddleware
import django.core.handlers.wsgi
tixette = django.core.handlers.wsgi.WSGIHandler()
application = ErrorMiddleware(tixette, debug=True, error_email='operator@example.com', error_subject_prefix='Alert: wsgi loader python paste: ', error_log='/tix/1.0/logs/paste.log', show_exceptions_in_wsgi_errors=False)
এই কনফিগারেশনটি উবুন্টু ১০.১০ তে দুর্দান্ত কাজ করে, তবে যেহেতু আমি উবুন্টু ১১.০৪-তে আপগ্রেড করেছি, আমি উপরের ত্রুটিগুলি পেয়েছি।