2014-01-20 51 views
1

我有一個Django 1.6項目(存儲在一個Bitbucket Git倉庫中),我希望在VPS上託管。如何運行一個Django 1.6項目,其中多個實例運行在同一臺服務器上,使用同一個db後端?

這個想法是,當有人購買我編寫的軟件的副本時,我可以輸入幾個簡單的命令,它們將從Git獲取代碼的指定副本,使用自己的代碼創建項目的新實例子域(例如<customer_name> .example.com),並創建一個新的Postgres數據庫(在同一臺服務器上)。

我希望能夠創建和這些「情況」輕鬆去除。

這樣做的最好方法是什麼? 我已經研究過使用Supervisor/Gnunicorn/Nginx/Fabric等組合的編寫腳本。其他選項可能更像是使用Docker或Vagrant的更嚴重的事情。我也研究過各種PaaS選項。

在此先感謝。

編輯:我已經看過以下服務/件事情:Dokku(不能使用Heroku的,由於數據的限制),流浪(INC木偶),碼頭工人,Fabfile,DEIS,切諾基,弗林(下開發))

回答

2

如果我是這樣做(和我做了我繼承了PHP應用程序類似的事情),我有一個布命令,讓我提供一個新的實例。

這可以被分解成必要的步驟(退房代碼,創建數據庫,執行syncdb /遷移,創建DNS條目,啓動Web服務器)。

我可能會做一些理智喜歡使用DNS條目的數據庫名稱:或至少使用可逆函數來做到這一點。

然後,您可以串在一起,這些輕鬆創建一個新的實例。

您還需要一種方法來告訴它的數據庫和域名,他們需要使用新創建的實例。您可以讓供應腳本將一些數據寫入檢出的存儲庫中的文件,然後由Django在其初始化階段使用它。

相關問題