我對整個rails部署的事情感到非常困惑。令人困惑的是,在開發整個應用程序時,它一直在development
模式下,這很好。現在我將部署它,我有需要對文件進行修改更改 rails應用程序到production
模式部署之前,還是部署自動執行此操作?Rails:部署第一個應用程序 - 生產模式
我想我問的是如何從一個環境切換到另一個環境?
我對整個rails部署的事情感到非常困惑。令人困惑的是,在開發整個應用程序時,它一直在development
模式下,這很好。現在我將部署它,我有需要對文件進行修改更改 rails應用程序到production
模式部署之前,還是部署自動執行此操作?Rails:部署第一個應用程序 - 生產模式
我想我問的是如何從一個環境切換到另一個環境?
無需改變你的服務器上只設置shell變量RAILS_ENV=production
任何文件
rails server -e production
將讓你在生產模式。
ALSO ...
默認情況下,rails 3.1及更高版本將資產推遲到資產管道。因此,您需要運行rake assets:precompile
或打開config/environments/production.rb
的服務資產。
# config/environments/production.rb
config.assets.compile = true
您還需要確保您的生產數據庫建立正確config/database.yml
以外,你是好去:)
如果這是一個真正的生產中,您還可以設置也是「生產」的環境變量。正如Anatoliy Kukul在另一個答案中解釋的那樣。
嘿mwoods79。你絕對不應該設置config.assets.compile = true。使用rake資源:預編譯。考慮改變你的答案。看到這篇文章:http://stackoverflow.com/questions/8821864/config-assets-compile-true-in-rails-production-why-not – Ben
@我的答案仍然成立。不管這是一個好主意還是另一個對話。經過多年的諮詢,我可以想到至少有兩個這樣做的大型企業應用程序,並且做得很好。這兩款應用程序還將「asset_host」設置爲使用CDN。這是一個偉大的戰略。第一個請求編譯資產並將其存儲在CDN中。之後的所有資產請求都從CDN獲得。很棒。 – mwoods79
我到底該怎麼做?在終端? –
是的。 '出口RAILS_ENV =生產'。我也建議你不要在生產中使用rails s。嘗試乘客服務器(https://www.phusionpassenger.com/)或其他 –
我運行命令,但沒有得到確認等。我怎麼知道它是否完成? –