문제

무엇이 좋은(또는 최소한 영리)실행 방법을 여러 사이트에서 단 하나,일반적인 Python 웹 프레임워크(ie:철탑,TurboGears,etc.)?난 당신이 할 수 있는 리다이렉션에 따라 도메인이나 경로를 다시 작성하는 URI 를 지점에서 특정 사이트의 위치와 내가 보았 짐승"if site == 'site1' / elseif / elseif / etc"나는 다음과 같습니다.

도움이 되었습니까?

해결책

Django 이 내장되어 있습니다.보 사이트 framework.

일반적인 기술을 포함'host'열 데이터베이스에서 스키마 데이터에 연결하려는 호스트별,다음이 포함됩 Host HTTP 헤더에서 쿼리를 검색할 때이다.

다른 팁

를 사용하여 장고에서 아파치와 함께 mod_python 기본,나는 호스트는 여러(무관)django 사이트 단순히 다음과 같은 아파치 설정:

<VirtualHost 1.2.3.4>
        DocumentRoot /www/site1
        ServerName site1.com
        <Location />
                SetHandler python-program
                SetEnv DJANGO_SETTINGS_MODULE site1.settings
                PythonPath "['/www'] + sys.path"
                PythonDebug On
                PythonInterpreter site1
        </Location>
</VirtualHost>

<VirtualHost 1.2.3.4>
        DocumentRoot /www/site2
        ServerName site2.com
        <Location />
                SetHandler python-program
                SetEnv DJANGO_SETTINGS_MODULE site2.settings
                PythonPath "['/www'] + sys.path"
                PythonDebug On
                PythonInterpreter site2
        </Location>
</VirtualHost>

가 필요없는 여러 아파치는 경우 또는 프록시 서버가 있습니다.를 사용하여 다른 PythonInterpreter 지시어의 각 사이트(이름을 입력하는 임의의)이 네임스페이스는 별개입니다.

내가 사용하는 CherryPy 으로 웹 서버(와 함께 번들로 제공 Turbogears),그리고 나는 단순히 실행은 여러 인스턴스의 CherryPy 웹 서버를 서로 다른 포트에 바인딩하 localhost.그때 아파치 구성으로 mod_proxy mod_rewrite 을 투명하게 앞으로 요청을 적절한 포트를 기반으로는 HTTP 요청을 합니다.

를 사용하여 여러 서버 인스턴스에서 로컬 포트는 좋은 생각,그러나 당신이 필요하지 않스 웹 서버로 리디렉션하는 HTTP 요청합니다.

내가 사용하는 것 파운드 역방향 프록시로 작업을 할.그것은 작은,빠르고,간단한 어떻게 우리가 여기에 필요합니다.

무엇 파운드:

  1. 역방향 프록시:과에서 요청하는 클라이언트 브라우저에 하나 이상의 백엔드 서버에 있습니다.
  2. 부하 분산:그것은 배포에서 요청하는 클라이언트 브라우저 여러 가지 중에서 백엔드 서버를 유지하면 세션 정보입니다.
  3. SSL wrapper:파운드 해독 http 요청에서 클라이언트 브라우저에 전달합으로 일반 HTTP 백 엔드 서버에 있습니다.
  4. HTTP/HTTPS 소독제:파운드 확인에 대한 요청은 정확성 및만 받아들이 잘 형성되는 것들입니다.
  5. 실패 over-server:해야 하는 백엔드 서버에 장애가 발생하더라도,파이 사실의 주의 중지 전달하는 요청을 때까지 그것을 회복한다.
  6. 요청을 리디렉터:요청할 수 있록에 따라 서버는 요청한 URL.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top