2012-04-03 1 views
5

virtualenv 위치를 가리키는 WSGIPythonHome 지시어를 사용하여 우분투 및 Apache 2에서 virtualenv을 사용하여 장고 응용 프로그램을 성공적으로 설치했습니다. 이제는 별도의 Django 애플리케이션을 만들어야하는데, 이는 동일한 Ubuntu 서버의 다른 포트에서 Apache에서 실행될 것입니다. 아파치가 복수 WSGIPythonHome 인스턴스를 실행하게하는 방법이 있다면 궁금합니다. 현재 WSGIPythonHome이 하나의 virtualenv 루트로 설정되어있는 경우 두 번째 장고 앱에서 가져 오기에 문제가 있습니다 ...Ubuntu 11의 Apache 2에서 virtualenv를 사용하는 여러 장고 응용 프로그램

답변

0

Apache에서는 별도의 virtual hosts으로 처리해야합니다. 각 포트는 특정 포트를 수신 할 수 있으며 별도의 WSGI 지정 문을 가질 수 있습니다.

+0

각 응용 프로그램에 대한 가상 호스트 설정이 있습니다. 가상 호스트 구성에서 WSGI를 추가하는 위치. 구문은 무엇입니까? 질문을 게시하기 전에 가상 호스트와 WSGI에 대한 빠른 Google 검색을 시도했지만 도움이되지 않았습니다. –

+0

import os, sys import site site.addsitedir ('/ home/deploy/virtualenv/expenses/lib/python2.6/site- 패키지 ') sys.path.append ('/ 옵션/비용/현재/SRC ') os.environ ['DJANGO_SETTINGS_MODULE '] ='expenses.settings ' 수입 django.core.handlers.wsgi 응용 프로그램 = 장고. 위의 core.handlers.wsgi.WSGIHandler() –

+0

위의 코드는 내 wsgi 지시어입니다. 각 응용 프로그램마다 2 개씩 있습니다 ...하지만 어디서 어디서 WSGIPythonHome 지시문을 추가 할 수 있습니까? –

2

가장 좋은 방법은 약 1 년 전 WSGI를 데몬으로 사용하고 데몬 지시문에서 파이썬 경로를 설정하는 것입니다. 예는 다음과 같습니다

<VirtualHost *:80> 
    ServerName yourhost.com 

    <Directory /> 
     Order deny,allow 
     #Require all granted 
    </Directory> 

    #Alias /static /opt/yourhost/static 
    WSGIScriptAlias//opt/yourhost/wsgi.py 

    WSGIApplicationGroup %{GLOBAL} 

    WSGIDaemonProcess yourhost.com python-path=/opt/yourhost:/opt/yourhost/venv/lib/python2.7/site-packages processes=2 threads=15 display-name=%{GROUP} 
    WSGIProcessGroup yourhost.com 
</VirtualHost> 
WSGISocketPrefix /var/run/wsgi 
관련 문제