由于找不到staging.log,我们的heroku staging应用程序在启动时崩溃。这似乎很奇怪,因为它应该只是将所有内容输出到development.log,所以我不太确定发生了什么。
任何帮助都将不胜感激!谢谢!
下面是堆栈跟踪:
2012-04-18T19:20:36+00:00 heroku[web.1]: State changed from crashed to created
2012-04-18T19:20:36+00:00 heroku[web.1]: State changed from created to starting
2012-04-18T19:20:37+00:00 heroku[slugc]: Slug compilation finished
2012-04-18T19:20:40+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 49887`
2012-04-18T19:20:46+00:00 app[web.1]: => Booting WEBrick
2012-04-18T19:20:46+00:00 app[web.1]: => Rails 3.0.3 application starting in staging on http://0.0.0.0:49887
2012-04-18T19:20:46+00:00 app[web.1]: => Call with -d to detach
2012-04-18T19:20:46+00:00 app[web.1]: => Ctrl-C to shutdown server
2012-04-18T19:20:46+00:00 app[web.1]: Exiting
2012-04-18T19:20:46+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/rack/log_tailer.rb:8:in `size': No such file or directory - log/staging.log (Errno::ENOENT)
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/rack/log_tailer.rb:8:in `initialize'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:247:in `new'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:247:in `block in build_app'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:243:in `reverse_each'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:243:in `build_app'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:253:in `wrapped_app'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.2.5/lib/rack/server.rb:204:in `start'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands/server.rb:65:in `start'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:30:in `block in <top (required)>'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap'
2012-04-18T19:20:46+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:27:in `<top (required)>'
2012-04-18T19:20:46+00:00 app[web.1]: from script/rails:6:in `require'
2012-04-18T19:20:46+00:00 app[web.1]: from script/rails:6:in `<main>'
2012-04-18T19:20:47+00:00 heroku[web.1]: Process exited with status 1
2012-04-18T19:20:47+00:00 heroku[web.1]: State changed from starting to crashed发布于 2012-04-19 04:24:50
你的应用程序应该将其日志输出到STDOUT,而不是服务器上的文件。有关详细信息,请参阅开发人员中心上的日志文章:https://devcenter.heroku.com/articles/logging
Heroku在部署时会自动将rails_log_stdout注入到你的应用程序中,这会修复Rails的默认日志记录,所以我不确定为什么这里没有发生这种情况。在部署到Heroku时,您是否看到以下几行输出?
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets发布于 2012-05-22 12:21:07
如果您有一个配置/环境/staging.rb文件,请确保您已将RACK_ENV和RAILS_ENV都设置为“staging”。
heroku config:add RACK_ENV=staging --app myapp-staging
heroku config:add RAILS_ENV=staging --app myapp-staging发布于 2012-04-19 04:10:52
您是否有指定要运行的环境的Procfile?我不认为这是Heroku所必需的,但它允许您指定环境等。
https://stackoverflow.com/questions/10216562
复制相似问题