2014-01-20 2 views
1

VPS에서 호스트하고자하는 Django 1.6 프로젝트 (Bitbucket Git 저장소에 저장 됨)가 있습니다.동일한 db 백엔드를 사용하여 동일한 서버에서 실행되는 여러 인스턴스로 Django 1.6 프로젝트를 실행하려면 어떻게해야합니까?

내가 작성한 소프트웨어의 사본을 구매할 때 힘내에서 코드의 지정된 사본을 취할 수있는 몇 가지 간단한 명령을 입력하고, 자체적으로 프로젝트의 새 인스턴스를 만듭니다 하위 도메인 (예 : < 고객 이름 > .example.com)을 만들고 (동일한 서버에) 새 Postgres 데이터베이스를 만듭니다.

나는 이러한 '인스턴스'를 쉽게 만들고 제거 할 수 있어야합니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 나는 Supervisor/Gnunicorn/Nginx/Fabric 등의 조합을 사용하여 스크립트를 작성했습니다. 다른 옵션은 Docker 또는 Vagrant를 사용하는 것보다 더 심각 할 수 있습니다. 또한 다양한 PaaS 옵션을 살펴 보았습니다.

미리 감사드립니다.

편집

(: 나는 다음과 같은 서비스/사물을 보았다 : Dokku은()에 의한 데이터의 제약으로 Heroku가 사용할 수 없습니다, 방랑 (INC 인형), 부두 노동자, Fabfile, Deis, 체로키, 플린 (DEV에서))

답변

2

필자가 상속 한 PHP 응용 프로그램에서 비슷한 작업을 수행했다면 새로운 인스턴스를 제공 할 수있는 fabric 명령을 사용할 수있었습니다.

이것은 필요한 단계 (체크 아웃 코드, 데이터베이스 생성, syncdb/마이그레이션, DNS 항목 작성, 웹 서버 시작)로 나눌 수 있습니다.

나는 아마도 DNS 이름을 데이터베이스 이름으로 사용하는 것과 같은 무언가를하고 싶다. 적어도 그렇게하기 위해서는 되돌릴 수있는 기능을 사용해야한다.

그런 다음이 문자열을 함께 사용하여 새 인스턴스를 쉽게 만들 수 있습니다.

또한 새로 생성 된 인스턴스에 사용할 데이터베이스 및 도메인 이름을 알려줄 수있는 방법이 필요합니다. 프로비저닝 스크립트가 체크 아웃 된 저장소의 파일에 데이터를 기록한 다음 Django가 초기 단계에서 사용하게 할 수 있습니다.

관련 문제