2011-03-03 4 views
1

mod_wsgi를 사용하여 장고를 배포하는 데 문제가있는 것 같습니다. 과거에는 mod_python을 사용했지만 변경하고 싶습니다. 나는 여기서 Graham Dumpleton 노트를 사용했다. http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango1 그러나 여전히 작동하지 않는 것 같다. 내부 서버 오류가 발생합니다. 내 아파치 오류 로그에서 mod_wsgi에서 django 응용 프로그램을 배포 할 때의 문제점

import os 
import sys 

sys.path.append('/var/www/html') 
sys.path.append('/var/www/html/c2duo_crm') 

os.environ['DJANGO_SETTINGS_MODULE'] = 'c2duo_crm.settings' 
import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

WSGIScriptAlias//var/www/html/c2duo_crm/apache/django.wsgi 

Apache httpd file:

<Directory /var/www/html/c2duo_crm/apache> 
Order allow,deny 
Allow from all 
</Directory> 

django.wsgi file:

는, 내가이 그것의 전부는 아닙니다이 오류를 가지고,하지만 가장 중요한 부분이있어 말한다 :

[Errno 13] Permission denied: '/.python-eggs' 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] The Python egg cache directory is currently set to: 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] /.python-eggs 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] Perhaps your account does not have write access to this directory? You can 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] change the cache directory by setting the PYTHON_EGG_CACHE environment 
[Thu Mar 03 14:59:25 2011] [error] [client 127.0.0.1] variable to point to an accessible directory. 

답변

1

Python Egg s는 부적절한 모듈 파일입니다. zip 파일 내에서 얻을 수 있습니다. 파이썬 에그 캐시는 파이썬이 파이썬을 추출하여 실행할 수 있도록하는 디렉토리입니다. 현재는 /.python-eggs에 압축을 풀려고하지만 그 디렉토리 나 존재하지 않는 경우 /에 대한 쓰기 권한이 없습니다.

두 가지 옵션이 있습니다. /.python -eggs를 만들고 쓰기 가능하도록 설정하거나 (적어도 Apache가 실행중인 사용자가 쓰기 가능하도록 설정하거나) PYTHON_EGG_CACHE (WSGIPythonEggs directive 사용)를 디렉토리로 설정할 수 있습니다 어디 쓰기 권한이 있습니다.

+0

mod_python을 사용하여 배포를 시도했을 때 같은 문제가 발생했습니다. 내가 한 일은 내 httpd 파일에'SetEnv PYTHON_EGG_CACHE/tmp'를 가지고 있었고 이것이 가능했을 것이다. 그러나 이것은 mod_wsgi에서 작동하지 않습니다. – Shehzad009

+0

내가 연결 한 WSGIPythonEggs 지시어를 사용해 보셨습니까? 오류 메시지가/tmp를 언급하지 않으면 환경 변수가 인식되지 않습니다. –

+0

아파치 htppd 파일에'WSGIPythonEggs/tmp'를 넣으면 작동하는 것처럼 보입니다. 감사합니다. – Shehzad009

1
# Avoid [Errno 13] Permission denied: '/var/www/.python-eggs' messages 
import os 

os.environ['PYTHON_EGG_CACHE'] = '/tmp' 
관련 문제