Elastic Beanstalk 未读取环境变量。

0

【以下的问题经过翻译处理】 我在 AWS Elastic Beanstalk 上运行 Rails 6 应用程序,但我从 puma log 得到以下信息(每隔几秒重复一次)

[X] + 上下文中的 Gemfile:/var/app/current/Gemfile

[X] 工人提前解雇

版本号: Rails 6.0.3.3 puma 4.3.5 ElasticBeanstalk Ruby 2.7 running on 64bit Amazon Linux 2/3.1.1 ruby 2.7.1p83

服务器在实例外部没有响应,并且 log/production.log 上没有任何内容。 在生产模式下的开发机器上运行没有错误,并且数据库可以访问(没有迁移失败)。 我在实例上运行 Rails 控制台(生产),发现缺少数据库设置。当我对它们进行硬编码时,数据库可以访问并且可以正常工作。 然后我发现在 ElasticBeanstalk Web 控制台上设置的环境变量都不存在(与文档描述的相反)。

这是平台错误,还是我缺少定义环境变量的方法?

profile picture
EXPERTE
gefragt vor 5 Monaten54 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 问题解决了!

在我的例子中,问题是一个已经悄悄更新的 puma 依赖项。

我通过 ssm 进入机器,执行“pumactl start”并收到错误消息:

/opt/rubies/ruby-2.7.1/lib/ruby/site_ruby/2.7.0/bundler/runtime.rb:312:in check_for_activated_spec!': You have already activated nio4r 2.5.2, but your Gemfile requires nio4r 2.5.4. Prepending bundle exec` to your command may solve this. (Gem::LoadError)

然后我仔细检查了拉取请求并注意到 gem nio4r 已更新。

解决方案是在 Gemfile 中将 nio4r 强制为 2.5.2。

希望它也适合你。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen