簡體   English   中英

Rails生產環境

[英]Rails Production Environment

我剛接觸rails一直在網上搜索部署指南 - 它非常分散。 我看到一些建議部署為啟用sudo的用戶。 我以為你會出於安全原因創建一個沒有sudo權限的用戶來運行應用程序。 它需要它自己的RVM和捆綁器的主目錄,但是具有sudo權限似乎是多余的並且存在安全風險。 我手動完成所有操作,因為它是一個棘手的beta級應用程序,並且部署它還不是很簡單,所以capistrano在這一點上只是一層混淆。

我使用瘦作為服務器,Nginx作為代理,redis和Postgres作為數據庫。 發條和sidekiq也是如此。

如果您是Rails的新手,我建議您在第一次部署時使用簡單的東西。 Heroku允許您通過簡單地將git推送到其存儲庫來部署應用程序。 他們處理在互聯網上提供應用程序所需的所有步驟。 最重要的是,只要您不需要大量資源,它就是免費的。

EngineYard是另一種托管解決方案,在靈活性(和成本)方面易於部署並從Heroku升級。

一旦您對部署生產應用程序感到滿意,那么您可以使用自己的服務器並使用capistrano進行最終的自定義。

我有生產網站在兩個環境中運行,我還需要去遷移到我自己的托管服務器的麻煩。

即使對於一個小項目,Capistrano似乎也有很多工作,但如果您希望應用程序增長(因此部署的復雜性增加),那么無論如何都值得設置。

我個人喜歡將特定於發行版的Ruby(和gems)分離到特定於應用程序的RVM部署的想法。 此外,要求bundler管理gem依賴關系並確保合規性是非常寶貴的。 我不建議為該用戶啟用sudo; 它會將整個堆棧從HTTP請求暴露給根級OS控制。 應用程序不應要求管理訪問權限,部署腳本可能。

暫無
暫無

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

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