여기 내가 한 일에 대한 요약이 있습니다.
- 장고 프로젝트를
/pymodules/honstreams
- apache2와 apache2-dev를 설치했습니다
- pythonbrew를 설치하고 Python-2.7.2를 설치하고 전환했습니다.
- PYTHONPATH를
/pymodules
in으로 설정/etc/profile
하고 작동하는지 확인했습니다. - 올바른 파이썬 및 아파치 버전을 사용하여 mod-wsgi.so를 컴파일했습니다.
- httpd.conf에 wsgi 모듈을 추가했습니다
이 튜토리얼에서 지시 한 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()
동일한 튜토리얼에서 지시 한 아파치 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>
오류없이 아파치를 시작합니다. 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>
이며, 구글은 특히 도움이되지 않습니다. 사용자 www-data에 PYTHONHOME 변수를 설정해야한다고 생각합니다.
또한 내 코드 중 어느 곳에서나 "site"라는 모듈을 가져 오려고하지 않습니다. 따라서 위의 오류를 수정하면 자체적으로 수정된다고 가정합니다.
도움을 주시면 감사하겠습니다!
편집 : PYTHONHOME을 /root/.pythonbrew/pythons/Python-2.7.2
로 설정 했습니다 /etc/profile
. 이전과 똑같은 오류가 발생합니다. 않습니다 /etc/profile
심지어는 사용자가 쉘에 로그인하지 않을 어떤 영향을?