2012-05-26 51 views
2

我是Django部署的新手,我想知道在生產服務器上部署django項目之前需要考慮的步驟。我不想要有關服務器詳細設置的信息。但是我需要有關從開發環境中獲得類似生產環境的信息。因爲我遇到了一些神祕的錯誤,其中來自開發服務器的沒有問題的代碼在生產服務器中不起作用。您可以在django views - 502 bad gateway之前看到我發佈的問題。仍然沒有得到解決方案。Django項目 - 開發和生產

我們是否需要在生產服務器中擁有與開發服務器中相同版本的軟件?我認爲我應該得到一些這類問題的讚揚,但我希望我能得到答案。

謝謝!

回答

3

如果您使用特定版本的python包在開發中創建應用程序,那麼應該在生產時使用這些相同的版本。您可以使用virtualenv來實現此目的。 http://www.doughellmann.com/projects/virtualenvwrapper/

使用virtualenv將允許您爲應用程序及其版本分離所有程序包依賴關係。您將能夠創建一個包含所有軟件包和版本列表的文本文件,並將它們輕鬆安裝到任何服務器上的虛擬環境中。這確保了生產包與開發包完全一樣。

您的開發環境和生產環境應該完全相同,除非您希望使用內置的開發服務器。它是輕量級和單線程的,使調試應用程序變得輕而易舉。這意味着您很可能需要一個臨時環境,以及可以在將用於生產的同一服務器上測試應用程序的地方。

部署很困難。幸運的是,python有一些非常棒的工具,可以很容易地複製環境。這些包括virtualenvfabric

+0

那麼操作系統呢?它們是否必須是兩個版本相同? – rnk

+0

開發服務器:Ubuntu 11.10/Python 2.7/Django 1.3.1 生產服務器:Ubuntu 12.04/Python 2.7/Django 1.3.1 操作系統版本不同。這會產生什麼問題嗎? – rnk

+1

@mk它不應該有任何問題,我相信主要關注的是python版本,django版本和軟件包版本。 – dm03514