运行Rails站点:开发与生产

Sun*_*day 12 ruby-on-rails dev-to-production

我正在学习Ruby on Rails.目前我只是rails server在OS X终端本地运行我的站点.在生产箱上运行Rails站点时会发生什么变化?

  • 该网站是否仍然开始rails server
  • 与db的设置有何不同?

注意:我正在运行Rails 3.

And*_*rew 18

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