2008-08-31 7 views
8

mod_python보다는 mod_wsgi와 apache에서 팔렸습니다. 모든 부품을 설치했는데 (django, apache, mod_wsgi) 문제가 발생했습니다.WSGI와 아파치로 django 설정

나는 아파치 2.2 OSX 10.5에서 오전 1.0b2는 mod_wsgi에-2.3

내 응용 프로그램이 TRED이라고 장고. 내가 http://tred에 갈 때 내가 디렉토리 목록을 얻을 아파치 - 가상 호스트 (아파치 - conf 파일에 포함)

 
NameVirtualHost tred:80 



    ServerName tred 

    Alias /admin_media /usr/lib/python2.5/site-packages/django/contrib/admin/media 

    
    Order allow,deny 
    Allow from all 
    

    Alias /media /Users/dmg/Sites/tred/media 

    
    Order allow,deny 
    Allow from all 
    

    Alias//Users/dmg/Sites/tred/ 

    
     Order allow,deny 
     Allow from all 
    

    WSGIScriptAlias//Users/dmg/Sites/tred/mod_wsgi-handler.wsgi 

    WSGIDaemonProcess tred user=dmg group=staff processes=1 threads=10 
    WSGIProcessGroup tred 


mod_wsgi에-handle.wsgi

 
import sys 
import os 

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'tred.settings' 

import django.core.handlers.wsgi 

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

: 여기

는 관련 파일입니다 렌더링 된 웹 사이트가 아닌 나는 내가 튜토리얼을 올바르게 따라 갔다고 생각하지만 분명히 옳지 않다. 이 작업을하려면 어떻게해야합니까?

답변

6

Alias / 지시문을 제거하면 어떻게됩니까?

5

작동합니다. 왜 그런지는 모르겠지만 그렇습니다. 나중에 참조 할 수 있도록

:

아파치가 순서대로 별칭 지시어를 처리하고 첫 번째 일치를 사용하기 때문에 의미가 있습니다. WSGIScriptAlias 전에 항상 일치하는 Alias /을 치고있었습니다. mod_alias documentation에서

:

첫째, 모든 리디렉션 별칭이 처리되기 전에 처리됩니다, 따라서 일치하는 요청은 Redirect 또는 RedirectMatch는 별칭이 적용되지 않았을 것입니다. 둘째, 별칭과 리디렉션은 구성 파일에 표시된 순서대로 처리되며 첫 번째 일치가 우선 적용됩니다.

7

Alias ​​및 WSGIScriptAlias ​​지정 문에는 동일한 우선 순위가 없습니다. 따라서 파일 순서대로 처리되지 않습니다. 대신 모든 별칭 지정 문이 WSGIScriptAlias ​​지정 문보다 우선합니다. 따라서 '/'에 대한 별칭이 WSGIScriptAlias ​​뒤에 나타나면 중요하지 않습니다. 여전히 우선 순위를가집니다. 이 튜토리얼 다음

2

시도 - http://singlas.in/5-step-tutorial-for-using-django-with-apache-and-mod_wsgi/

당신은 아파치의/var/www /에서 폴더와 장고 응용 프로그램 모두 루트 (/)를 호스트하기 위해 노력하고 있습니다. Alias ​​지시문은 WSGIScriptAlias보다 우선하므로 Apache 디렉토리를 렌더링합니다.

/app에 django 앱을 호스트 할 수 있습니다. 또는/public/local/var/www/folder를/public과 같은 다른 위치에 두십시오.

관련 문제