2012-08-28 9 views
2

여러 도메인에서 여러 장고 앱을 어떻게 제공 할 수 있습니까? 예를 들어하나의 서버에 여러 개의 장고 앱이 있습니다.

I 가지고

djangoapp1.com 및 djangoapp2.com

I는 두 개의 별도의 위치

에서 두 개의 애플리케이션이

/SRV/WWW/djangoapp1 /SRV/WWW/djangoapp2 ITS의 httpd.conf 파일에 다음과

내가 mod_wsgi에와 아파치를 실행하고 내가 현재 가지고

WSGIScriptAlias//srv/www/app1/app1/wsgi.py 
WSGIPythonPath /srv/www/app1 

<Directory /srv/www/app1/system> 
<Files wsgi.py> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 

나는 또한 분명히 가상 호스트가 있고 장고 기본 설치 페이지를 얻을 수 있지만 지금은 내 두 번째 애플 리케이션을 제공하고 싶어, 아무도이 일을 올바른 방법으로 나를 가리킬 수 있습니까?

장고 V : 1.4.1

답변

1

여러분이 여기에서 취할 수있는 많은 접근법이 있으며 단순한 대답이 없습니다. 요구 사항과 제약 조건에 따라 다릅니다.

@Hedde가 제안한 접근 방식은 가상 호스트 내부의 WSGI 구성을 사이트별로 정의하는 것이 가장 가능성이 높습니다.

두 번째 가능한 더 유연한 접근 방식은 응용 프로그램 서버를 포함하는 자체 내부에서 각 장고 응용 프로그램을 실행하는 것입니다. gunicorn (응용 프로그램 별 종속성을 분리하기 위해 virtualenv에 있습니다.) 다른 포트에서 Apache를 사용하거나 응용 프로그램 트래픽의 프록시로 Nginx을 사용하십시오.

이 작업에는 관리하기에 더 복잡한 서버 환경이 필요하지만 응용 프로그램을 개별적으로 관리 할 수 ​​있다는 장점이 있습니다.

단일 모 놀리 식 프로세스를 다시 시작하지 않고도 한 번에 하나의 응용 프로그램에 대해 사용 가능한 작업자를 다시 구성하거나 응용 프로그램 버전을 업그레이드하거나 settings.py를 변경할 수 있습니다.

물론, 동일한 Apache 프로세스 내에서 가상 호스트를 모니터링하는 것이 개별 응용 프로그램 서버 인스턴스를 개별적으로 모니터링하는 것보다 복잡 할 수도 있습니다.

YMMV

4

당신은 장고, 예를 들어, 아파치의 VirtualHosts

있어 많은 예제를 사용할 수 있습니다 here

0

이 apache2.conf의 또는 htppd.conf

# Virtual hosts setup 
NameVirtualHost * 
<VirtualHost *> 
    ServerName example1.com 
    ............  
    WSGIScriptAlias//..../path/to/wsgi1.py 
</VirtualHost> 

<VirtualHost *> 
    ServerName example2.com 
    ............  
    WSGIScriptAlias//..../path/to/wsgi2.py 
</VirtualHost> 
in wsgi1.py 

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings1' # or projectnaame.settings1 
in wsgi2.py 

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings2' # or projectname.settings2 
In settings1.py & settings2.py you can make necessary databases and other configurations 
에서

도움이 있는지 확인하십시오

관련 문제