2012-06-05 7 views
3

처음으로 장고 사이트를 프로덕션 환경에두고 있습니다. 제 무지를 용서해주세요.아파치에서 django 설정하기 (mod_wsgi, virtualenv)

아파치에 내 장고 사이트를 넣으려고합니다. 나는 mod_wsgi에 대한 문서를 읽었고 간단한 Hello World를 시도했다. 그래서 OK로 설정되었다. 내가 겪고있는 문제는 virtualenvs를 사용하는 것으로 보인다. 나는 virtualenvs를 포함하여 모든 것을 올바르게 설정하고 모든 것을 원하고 미래의 사이트를 준비한다.

지금 문제가 발생했습니다.

나는 아파치 로그에 받고 있어요 오류 :

No module named django.core.handlers.wsgi 

그래서 제대로 내 virtualenvs을 읽는되지 않은 것으로 보인다.

이 내 WSGI 스크립트입니다 :

import os 
import sys 
import site 
site.addsitedir('/home/user/.virtualenvs/myapp/lib/python2.7/site-packages') 

path = '/home/user/django/myapp/myapp' 
if path not in sys.path: 
    sys.path.append(path) 

sys.stdout = sys.stderr 
print sys.path 

os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

그리고 이것은 아파치의 에러 로그입니다. sys.path를 출력하여 어떻게 보이는지 볼 수 있습니다.

[Tue Jun 05 14:54:07 2012] [error] ['/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/PIL', '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info', '/home/user/.virtualenvs/myapp/lib/python2.7/site-packages', '/home/user/django/myapp/myapp'] 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] mod_wsgi (pid=1039): Target WSGI script '/srv/http/wsgi_scripts/myapp.wsgi' cannot be loaded as Python module. 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] mod_wsgi (pid=1039): Exception occurred processing WSGI script '/srv/http/wsgi_scripts/myapp.wsgi'. 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] Traceback (most recent call last): 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] File "/srv/http/wsgi_scripts/myapp.wsgi", line 17, in <module> 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1]  import django.core.handlers.wsgi 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] ImportError: No module named django.core.handlers.wsgi 

의견이 있거나 이미 비슷한 문제가있는 경우 도와주세요.

덕분에

답변

2

내가 그랬던 것과 비슷한 문제가있는 사람. virtualenv가 저장된 디렉토리에 대한 전체 경로 권한을 확인해야합니다.

홈 디렉토리를 확인하고 권한을 변경했지만 권한을 내 사용자 디렉토리로 변경하는 것을 잊었습니다.

희망이 도움이됩니다.

+0

어떤 특권을 사용하셨습니까? 모든 디렉토리에 대해 775? – Egel

3

당신은 믹스에 실제 VIRTUALENV 사이트 패키지 디렉토리를 추가하지 않았습니다. 시도 :

import site 
site.addsitedir('/path/to/your/virtualenv/lib/python2.X/site-packages') 
# Where `X` is the specific version 
+0

사실 나는 틀린 질문의 형식을 정해서 일반 문장으로 표시 했으니 바꿀 것입니다. 죄송합니다 – iblazevic

관련 문제