簡體   English   中英

運行Rails站點:開發與生產

[英]Running a Rails site: development vs production

我正在學習Ruby on Rails。 目前我只是在OS X終端中使用rails server在本地運行我的站點。 在生產箱上運行Rails站點時會發生什么變化?

  • 該網站是否仍以rails server啟動?
  • 與db的設置有何不同?

注意 :我正在運行Rails 3。

rails應用程序可以在生產中運行,調用rails server -e production ,盡管99%的時間你將用於乘客或瘦身而不是WEBrick,這意味着有一個不同的命令來啟動服務器。 (例如, thin start -e production

這是一個復雜的問題,但是開始了解差異的最佳位置是查看特定的environment.rb文件。 當rails啟動時,它會從與被調用環境匹配的環境文件開始,即如果您在開發中啟動它,則首先加載您的development.rb文件,或者如果您正在生產它將加載production.rb文件。 環境的差異主要是各種環境配置文件中這些差異的結果。

基本上,如果Rails 3.1應用程序處於生產模式,那么默認情況下它不會動態編譯資產,並且許多緩存將繼續進行,而這在開發中是不會發生的。 此外,當您收到錯誤消息時,它們將被記錄但不會呈現給用戶,而是使用公共目錄中的靜態錯誤頁面。

為了更深入地了解這一點,我建議您閱讀相關的rails指南:

Rails初始化指南: http//guides.rubyonrails.org/initialization.html

Rails配置指南: http//guides.rubyonrails.org/configuring.html

有兩種情況你可以在這里使用“生產”這個詞。 其中一個是在生產模式下運行服務器。 你可以在當地這樣做,

RAILS_ENV=production ./script/server 

從config / environments / production.rb中獲取此配置。 嘗試將此文件與config / environments / development.rb進行比較。 只有緩存類之類的細微差別。 開發模式使其更容易,以便它可以立即響應您所做的任何更改。 此外,如果您選擇以這兩種模式之一運行服務器,則將使用兩個不同的數據庫(默認情況下),即yourproject_development和yourproject_production。

另一方面,將軌道部署到生產箱是不同的。 您需要仔細選擇服務器。 您可能必須處理部署腳本可能是capistrano。 您可能還需要負載均衡器,例如netgear。 數據庫也可能需要深入考慮,如大小期望,主/從群集等,

注意:我從未使用過Rails 3.這個答案偏向於2.3.x.

暫無
暫無

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

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