2012-04-08 2 views
0

내 apache2 서버가 가까이 설정되어 있다고 생각하지만 여전히 500 오류가 반환됩니다.아파치와 Django EC2 mod_wsgi 구성이 작동하지 않습니다.

다음
import os, sys 

#path to directory of the .wsgi file ('apache/') 
wsgi_dir = os.path.abspath(os.path.dirname(__file__)) 

#path to project root directory (parent of 'apache/') 
project_dir = os.path.dirname(wsgi_dir) 

sys.path.append(project_dir) 
project_settings = os.path.join(project_dir, 'settings') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'ecomstore.settings' 
import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

virtualhost 파일 : 나는 mod-와 오류를 얻을 수없는 경우에도, 그러나

sudo /etc/init.d/apache2 restart 
* Restarting web server apache2 
[Sun Apr 08 02:47:31 2012] [warn] module wsgi_module is already loaded, skipping 
... waiting ..........[Sun Apr 08 02:47:42 2012] [warn] module wsgi_module is already loaded, skipping 
    ...done. 

: 여기

NameVirtualHost *:80 
<VirtualHost *:80> 
     ServerAdmin [email protected] 
     ServerName www.site.com 
     ServerAlias site.com 

     Alias /static /home/ecomstore/static 

     DocumentRoot /home/ecomstore 
     WSGIScriptAlias//home/ecomstore/apache/ecomstore.wsgi 

     ErrorLog /var/log/apache2/error.log 

     LogLevel warn 

     CustomLog /var/log/apache2/access.log combined 

</VirtualHost> 

내 서버를 다시 시작됩니다 여기 내 .wsgi 파일입니다 재시작시 wsgi 구성을 사용하기 전에 이전에 언급 한 500 개의 내부 서버 오류가 발생합니다. 제가 빠진 것이 있습니까?

답변

0

요청을했을 때부터 아파치 오류 로그를보고 재시작하지 않았을 때를 봐야합니다.

문제의 근원 중 하나는 sys.path에 DJANGO_SETTINGS_MODULE을 설정했기 때문에 필요한 프로젝트 디렉토리의 상위 디렉토리가 포함되어 있지 않다는 것입니다.

http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango

을하고 그것을 해결 :이 요구 사항에 대해 읽어 이동합니다.

그 외에도 Apache 500 페이지인지 아니면 장고 페이지인지 확인해야합니다. Django의 경우 Django 설정 파일에서 DEBUG를 켜고 Apache를 다시 시작하면 브라우저에 표시된 전체 오류가 표시됩니다. 문제가 해결되면 DEBUG를 해제하십시오.

+0

예 :'ImportError : 'ecomstore.settings'설정을 가져올 수 없습니다 (sys.path에 있습니까? 구문 오류가 있습니까?) : ecomstore.settings라는 모듈이 없습니다. ' – locoboy

+0

고정 위의 문제는'sys.path.append ('/ home')' – locoboy

+1

BTW를 추가하여 DocumentRoot를 가지고있는 것에 충고하는 것이 좋습니다. 나중에 Apache 구성을 작성하면 Django 설정 파일의 데이터베이스 비밀번호를 비롯하여 모든 소스 코드를 다운로드 할 수 있습니다. DocumentRoot를 사용자가 볼 수 없도록하는 민감한 요소가 포함 된 위치로 설정하지 마십시오. –

관련 문제