繁体   English   中英

如何调试在Heroku上崩溃并在本地运行良好的Rails应用

[英]How to debug Rails app that crashes on Heroku, runs fine locally

我的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是正确的。 我不确定是什么原因导致我的应用突然出现这种情况。

您可以尝试的一件事是设置:

config.eager_load = true

在您的config/environments/development.rb

如果您具有config.eager_load = false ,那么您的应用程序中可能会遇到一些问题,因为罪魁祸首代码无法访问(因此无法加载),因此您在development不会看到这些问题。

相比之下,在Heroku production中,所有代码都已加载,并且可能会遇到development未发现的development

在开发中加载整个应用程序时, 可能会看到与Heroku相同的问题。

现在,将config.eager_load = true设置config.eager_load = true 可能会导致各种开发速度变慢,因此请记住这一点。 我一直在development设置config.eager_load = true ,因为我已经厌倦了您所描述的意外崩溃。

或者,这可能根本没有帮助。 你得看看。

我认为问题出在迁移上,您可以在服务器上正确运行所有迁移,但是在Heroku上,所有迁移都无法正常运行。

现在您有两个选择:

  1. 回滚所有迁移,然后每个迁移一个接一个地运行,并将其部署到Heroku。

  2. 只需删除Heroku上的现有应用程序并制作一个新应用程序,然后从GitHub部署所有代码即可

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM