Вот краткое изложение того, что я сделал
- Я переместил свой проект django в
/pymodules/honstreams
- Я установил apache2 и apache2-dev
- Я установил pythonbrew, установил Python-2.7.2 и переключился на него
- Я установил PYTHONPATH в
/pymodules
в/etc/profile
и подтвердил, что он работает - Я скомпилировал mod-wsgi.so, используя правильные версии Python и Apache
- Я добавил модуль wsgi в httpd.conf
Я создал wsgi_handler.py в соответствии с инструкциями этого руководства. Это оно:
import sys import os sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..') os.environ['DJANGO_SETTINGS_MODULE'] = 'honstreams.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
Я настроил apache VirtualHost в соответствии с тем же руководством. Я отредактировал
/etc/apache2/sites-enabled/000-default
так:<VirtualHost *> ServerName www.honstreams.com ServerAlias *honstreams.com Alias /admin_media /root/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/site-packages/django/contrib/ad$ <Location /admin_media> Order allow,deny Allow from all </Location> Alias /media /root/honstreams/website/media <Location /media> Order allow,deny Allow from all </Location> WSGIScriptAlias / /root/honstreams/wsgi_handler.py WSGIDaemonProcess honstreams user=www-data group=www-data processes=1 threads=10 WSGIProcessGroup honstreams </VirtualHost>
Я запускаю apache без ошибок. Я пытаюсь получить доступ к корневой папке с http, и /var/log/apache2/error.log
повторяется:
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
Честно говоря, я понятия не имею, что делать дальше. Я не знаю, что такое <prefix>
или <exec_prefix>
, и Google не особо помогает. Я предполагаю, что мне нужно установить переменную PYTHONHOME для пользовательских www-данных.
Также я не пытаюсь импортировать модуль с именем "site" в любой из моих кодов, где угодно, когда-либо. Поэтому я предполагаю, что это исправит себя, если я исправлю вышеупомянутые ошибки.
Любая помощь будет оценена!
РЕДАКТИРОВАТЬ: я установил PYTHONHOME в /root/.pythonbrew/pythons/Python-2.7.2
в /etc/profile
. Я получаю ту же ошибку, что и раньше. Имеет ли какой-либо эффект /etc/profile
, когда пользователь не входит в оболочку?