Unicorn致力于开发而非生产

时间:2014-07-04 07:32:52

标签: ruby-on-rails nginx unicorn

所以我关注nginx / unicorn railscast并且在使用生产设置获取我的应用程序时遇到了问题(非常基本的app只有一个欢迎#index控制器和根路由 我运行以下

unicorn -c /home/jonlee/sites/localstyling/config/unicorn.rb

Unicorn启动并在刷新浏览器时开始将所有活动记录到我的屏幕

当我添加生产环境标志时:

unicorn -c /home/jonlee/sites/localstyling/config/unicorn.rb -E production

Unicorn启动,刷新浏览器时,控制台中没有显示任何活动,但仍显示欢迎页面。检查日志我看到:

Rendered welcome/index.html.erb within layouts/application (3.3ms)
Completed 200 OK in 133ms (Views: 24.1ms | ActiveRecord: 0.0ms)
Started GET "/stylesheets/application.css" for 127.0.0.1 at 2014-07-04 08:18:53 +0100
ActionController::RoutingError (No route matches [GET] "/stylesheets/application.css")
..
..
..

我想我的production.rb文件存在问题,我尝试设置config.serve_static_assets = true,但这并没有帮助。我的production.rb如下:

Rails.application.configure do
  config.cache_classes = true
  config.eager_load = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.serve_static_assets = true
  config.assets.js_compressor = :uglifier
  config.assets.compile = true
  config.assets.digest = true
  config.log_level = :info
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.log_formatter = ::Logger::Formatter.new
  config.active_record.dump_schema_after_migration = false
end

我没有立即看到任何错误,我不明白为什么在运行独角兽-E制作时我没有从控制台获得任何输出,任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

生产日志仅记录到log / production.log,在此之前,您需要预编译资产

RAILS_ENV=production rake assets:precompile

并在/config/environments.production.rb文件中设置

config.server_static_assets = true