Heroku应用程序在启动时无声地失败

时间:2010-11-02 18:57:35

标签: ruby-on-rails heroku

我正在尝试在Heroku上部署应用程序,但我尚未运行它。我看到了Rails 500页面(“我们很抱歉,但出了问题”),但是当我heroku logs时,我没有看到任何有趣的内容:

==> exceptional.log <==
# Logfile created on Tue Nov 02 11:27:18 -0700 2010 by logger.rb
[INFO] (init.rb:21) Tue Nov 02 18:27:18 UTC 2010 - Loading Exceptional 2.0.26 for 2.3.5

==> dyno-2858334.log <==
>> Thin web server (v1.2.6 codename Crazy Delicious)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:15336, CTRL+C to stop

==> production.log <==
# Logfile created on Tue Nov 02 11:27:17 -0700 2010

正如您所看到的,我已经安装了Exceptional插件,并且Exceptional没有报告任何异常。

在Heroku上启动应用程序期间,哪些内容可能会无声地失败?

3 个答案:

答案 0 :(得分:4)

答案:我们的应用程序正在使用Sass,它试图将编译后的CSS写入public/目录。在Heroku上,这是在只读文件系统上。相反,我安装了Hassle,它将编译后的Sass CSS放在tmp/下,这是可读写的。

Heroku支持通过将环境设置为development来发现问题,从而允许记录错误:

heroku config:add RACK_ENV=development

Hassle网站建议添加Hassle作为插件,但是当我可以使用宝石时,我不想使用插件。我通过将其添加到Gemfile并将其添加到environment.rb

来实现它
# existing requires
# ...

require 'hassle'

Rails::Initializer.run do |config|
  # ...
  # existing config
  # ...

  config.middleware.use Hassle
end

现在它正常运作。

答案 1 :(得分:3)

尝试(从应用的根目录):

heroku rake db:migrate
heroku db:push

答案 2 :(得分:1)

您看到 Rails的500页意味着该应用程序正常运行(例如,它可以启动并产生500错误)。

一个问题可能是您的数据库未迁移。尝试迁移它或上传您的开发数据库。