由於我的一些項目越來越複雜,需要將應用程序實際部署到服務器所需的更多工作,我想要求您的幫助,因爲我沒有太多的這方面的經驗。將Python應用程序部署到AWS
目前我有一個應用程序用Flask編寫,使用MySQL作爲後端,Apache使用mod_wsgi,它可以在單個EC2實例中使用。現在,事情會變得稍微複雜一些,因爲我將在不同的域上使用新的模板,語言和一些細微的差異來獲得應用程序的另一個「克隆」版本,但核心代碼將是相同的。我還有一些「demo」網站,它可以在domain.com/demo上獲得,由不同的應用程序處理,因爲它的功能有限,所以它與主版本不同。
我現在部署的做法現在比較簡單,只需wget
從我的Dropbox到EC2實例(我在ssh中),然後重新啓動apache服務。由於我的應用程序代碼位於單個文件和模板目錄以及其他一些不經常更新的小腳本中,因此這不是問題。當我更改代碼時,我只是更新了源代碼,當我更改模板時,請將zip,wget,unzip解壓縮,就是這樣。
這就是我迄今爲止設法做到的事情。我最近也開始使用GitHub來進行版本控制,並且希望得到以下一些建議:
- 哪種方法可以讓這個過程自動化?我想最好的辦法是在每次提交時從git存儲庫中提取東西並將其部署到EC2實例上。如果是這樣的話,我該如何自動化呢? Github鉤子看起來有點矯枉過正,我希望有這個「更簡單」的工具。也許Amazon提供的beanstalk可以跳入?
謝謝!
謝謝您的輸入!我已經嘗試過fabric,並創建了一個很好的工具,現在提交更改,將其推送到github,並將其部署到遠程服務器。我意識到我的問題太廣泛了,我會嘗試編輯它,並在未來更具體。 –