2012-07-30 141 views
1

我有一個django項目,我想在Apache2 Http服務器上部署。部署Django項目

但是,我想自動將所有python文件從某個目錄複製到/ srv/www/myproject的apache srv目錄。有沒有任何自動python工具可以解決這個問題。

我已經看過DistUtils和setup.py,但我不確定如何將所有.py文件(以及目錄結構)複製到apache目錄。

任何幫助將不勝感激!

+0

使用DistUtils,您可以創建安裝程序。但是你必須以某種方式分發軟件包。如果使用基於RPM的Linux,則可以使用'rpmbuild -ba build.spec'創建一個.rpm軟件包,但這需要有關RPM系統的更多知識。更簡單的方法是使用'fabric',如下面已經回答的那樣。 – Tisho 2012-07-30 11:54:19

回答

0

從Django的教程:

如果你的背景是PHP,你可能習慣於將代碼 在Web服務器的文檔根目錄下(如/ var/www)。 與Django,你不這樣做。將此Python代碼中的任何一個放入您的Web服務器的文檔根目錄中並不是一個好主意,因爲它可能會讓人們能夠通過 在Web上查看您的代碼。這對安全性不好。

將您的代碼放在文檔根目錄以外的某個目錄中,如 /home/mycode。

對於複製文件,你可以使用一些簡單的FTP/SCP,你可以自動化;或者您可以使用更多全面部署選項(如fabric)(有關fabric + virtualenv + apache mod_wsgi的分步指南,請參閱this blog entry)。

您可以使用任何工具來自動完成任務;但請將代碼放在適當的非網頁瀏覽目錄中。