天天看點

《Rails 程式部署之道》—— 可靠的重複式部署和配置

《Rails 程式部署之道》

講述可靠的重複式部署和配置方法。

《Rails 程式部署之道》—— 可靠的重複式部署和配置

本書會系統性的介紹:

  • 從零開始架設 VPS
  • 快速搭建多個伺服器
  • 使用 Capistrano 可靠地部署
  • 使用自動化工具處理瑣碎的維護任務

如果你花了很多錢把應用程式部署在 Heroku 上,使用本書介紹的工具,可以将其遷移到 VPS 上。

如果應用程式已經運作在 VPS 上,但部署的過程不牢靠,有時無法重新開機,有時加載了錯誤的代碼版本,使用本書提供的模闆可以讓部署的過程更可靠。

我花了很多時間閱讀部落格文章、文檔,調整設定檔案,我的技能提升了很多,把應用程式部署到 VPS 就像部署到 Heroku 一樣順手,甚至有時還更簡單。如果你想達到和我相同的技術水準,閱讀本書吧,可以節省你很多時間。

第一部分:Chef

介紹如何使用 Chef 自動配置新伺服器。看完這部分,你就能在幾分鐘之内搭建好一台新伺服器。

很多 Rails 所需的設定(MySQL,Postgres,Mongo,Redis)都包含在本書附帶的示例代碼中。

其他章節詳細分析了如何根據需要定制設定。

這部分的目的是建立一個可重複使用的藍本,隻要需要配置新的 VPS,随手就能拿來用。

第二部分:Capistrano

Capistrano 可用來自動執行部署過程中的所有工作,例如更新代碼,管理靜态資源檔案和背景作業。

這部分特别關注了如何進行不下線部署,特别是需要頻繁更替版本,或者一天内要多次部署的情況。

其中還有一節準本介紹常見的問題,例如部署後無法重載 Gemfile,以及如何在程式不下線的情況下執行資料庫遷移操作。

最後,介紹如何使用一個指令就在多個不同的生産環境、傳遞準備環境和開發環境中複制資料庫。

第三部分:日常維護

Heroku 等 Sass 平台吸引人的地方在于,它們提供了日常維護所需的實用工具。這部分介紹如何在自己的伺服器上複用這些工具,具體内容如下:

  • 監控伺服器,并自動進行失效恢複操作
  • 報警功能(使用 Monit),避免報警超載
  • 使用 Sidekiq 管理背景作業
  • 管理 SSL 證書
  • 日志檔案分割