2009-04-23 2 views
1

12 개의 가상 호스트가 설정된 서버에서 장고를 실행하고 있습니다. 장고 사이트를 처음 만들었 으면 좋겠지 만 초를 설정하려고합니다. 두 번째 fastcgi 프로세스를 실행해야합니까? 내가있는 fcgi이 방법을 실행하고있어 첫 번째 사이트에 대한 fastcgi를 사용하여 단일 서버에서 둘 이상의 Django 사이트를 실행하는 방법은 무엇입니까?

:

/home/django/app1/manage.py runfcgi protocol=fcgi host=127.0.0.1 port=8081 

이있는 fcgi 프로세스 도메인 점의 nginx의 설정 (fastcgi_pass 127.0.0.1:8081). 두 번째 사이트에 대한

, 나는

/home/django/app2/manage/py runfcgi protocol=fcgi host=127.0.0.1 port=8082 

을? : 그리고 그 과정 (fastcgi_pass의 127.0.0.1로의 nginx의 설정을 지시 등의 사이트 당 하나 개있는 fcgi에서있는 fcgi의 다른 사본을 실행해야 할 : 8082)?

또는 하나의 fastcgi로 둘 이상의 Django 사이트를 처리 할 수있는 방법이 있습니까? 멀티 Django 서버를 설정하는 가장 좋은 방법이 있습니까?

답변

2

이것은 사이트의 의미와 장고 구성의 모양에 따라 다릅니다.

각 Django settings.py는 단 하나의 데이터베이스, 단 하나의 urls.py 트리를 정의합니다.

각 Django에는 하나의 settings.py - 하나의 데이터베이스 - 하나의 urls.py 트리가 있습니다.

각 사이트마다 고유 한 데이터베이스가있는 경우 별도의 settings.py가 필요하며 별도의 fastcgi 인스턴스가 필요합니다.

하나의 settings.py를 사용하여 모든 사이트를 단일 데이터베이스에서 지원하는 경우 단일 fastcgi 인스턴스에서 모든 사이트를 압축 할 수 있습니다.

Django의 urls.py 처리기는 대부분 요청에서 url 구문 분석에 사용 된 호스트 이름과 포트 번호를 무시합니다. 그러나 사이트 모델을 포함하면 가상 호스트 이름을 요청 처리의 일부가되게 할 수 있습니다.

/home/django/app1/manage.py runfcgi 프로토콜 =있는 fcgi 소켓 =은/var/실행/mysite.sock : 당신이 대신 소켓을 TCP 오버 헤드 페지하고 사용할 수있는 가치가 무엇인지에 대한

+0

감사합니다. 매우 도움이됩니다. –

0

소켓은 웹 서버 사용자가 읽고 쓸 수 있어야합니다.

관련 문제