簡體   English   中英

對於自動python部署,我需要了解/學習什么?

[英]What do I need to know/learn for automated python deployment?

我正在用Python開始一個新的webapp項目,以進入敏捷思維模式,我想在部署方面做“正確”的事情。 但是,我發現整個virtualenv / fabric / zc.buildout / etc的東西有點令人困惑 - 我習慣於只是將PHP文件FTP到服務器並將Web服務器指向它。

部署后,服務器設置將如下所示:
Nginx --proxy-to--> WSGI Webserver (Spawning) --> WSGI Middleware --> WSGI App (probably MNML or similar)
python webserver由supervisord管理。

我應該研究哪種部署設置/包/應用程序? 是否有一個特定的目錄結構我需要堅持使用我的應用程序來簡化部署?

您的部署故事取決於您的應用。 你在用Django嗎? 然后Apache + mod_wsgi部署文檔提供了一個很好的起點。 然后你可以谷歌四處尋找更多細節,比如這個由兩部分組成的 系列使用pipvirtualenvgitfabric

實際上, fabricvirtualenv和所有其他工具旨在使維護和自動化部署更容易。 最初,文檔中的步驟可能就足夠了。 在了解了工作原理后,您可以重新審視以改進流程。

我聽說過關於Fabric的好東西:

Fabric是一個Python庫和命令行工具,旨在通過SSH協議簡化部署應用程序或執行系統管理任務。 它提供了用於運行任意shell命令(作為普通登錄用戶或通過sudo ),上載和下載文件等的工具。

你已經提到了buildout,這就是你所需要的。 例如,Google針對不同部分進行了擴建。 需要一段時間才能在第一時間進行設置,但是您也可以在不同項目之間重復使用設置。

讓supervisord開始一切,而不僅僅是python服務器。 然后在重新啟動時從fron cron或init.d啟動supervisord。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM