我的Rails应用在本地运行良好。但是,当我将其推送到Heroku时,它突然给了我Status 503
,我什至无法进入主页,这是一个静态页面。
奇怪的是,该应用程序已成功在Heroku上构建和部署。但是当我尝试转到我的应用程序时,它显示“应用程序错误”。运行heroku logs -tail
的日志只会告诉我这一点:
at=error code=H10 desc="App crashed" method=GET path="/"
host=flow-portal-rails.herokuapp.com
request_id=3a4ff52c-9ff2-44b0-a701-038b74319bf9
fwd="107.143.141.1" dyno= connect= service= status=503
bytes= protocol=https
我正在使用BUNDLER 2.0.1,我的Gemfile是正确的。我不确定是什么原因导致我的应用突然出现这种情况。
答案 0 :(得分:1)
您可以尝试的一件事是设置:
config.eager_load = true
在您的config/environments/development.rb
中。
如果您有config.eager_load = false
,那么您的应用可能会出现问题,因为您无法访问development
,因为元凶代码未被访问(并且,因此已加载)。
相反,在Heroku production
中,您的所有代码都已加载,并且可能出现了development
中未发现的问题。
在开发中加载整个应用程序时,可能会看到与Heroku相同的问题。
现在,设置config.eager_load = true
可能会导致各种开发速度变慢,因此请记住这一点。我一直在config.eager_load = true
中设置development
,因为我对您描述的意外崩溃感到厌倦。
或者,这可能根本没有帮助。您必须看看。
答案 1 :(得分:0)
我认为问题出在迁移上,您在服务器上正确运行了所有迁移,但是在Heroku上,所有迁移均未正常运行。
现在您有两个选择:-
回滚所有迁移,然后每个迁移一个接一个地运行,并将其部署到Heroku。
只需删除Heroku上的现有应用并创建一个新应用,然后只需从GitHub部署所有代码即可
希望有帮助