使用一键在 Digital Ocean 上部署 Rails 应用程序时出现健康检查问题

问题描述 投票:0回答:1

我尝试在数字海洋上使用 1 Click Ruby on Rails 选项部署 Rails API 应用程序,但每次尝试部署该应用程序时都会出现运行状况检查错误。

构建阶段成功:

但是当到达部署阶段时它失败了,并且日志中没有有关此错误的详细信息。

我尝试检查错误日志,但服务器似乎正在运行。

到目前为止我尝试过的:

  • 数字海洋健康检查下定时HTTP或TCP切换。

  • 确认水滴是否存活:

使用 Rails 构建包在 Droplet 中创建新应用程序:

::: 当前构建包:::: 自定义构建命令 v0.1.2 Procfilev 0.0.4 红宝石:v1.244.3 ::::::::::::::::::::::::::::::::::

在数字海洋控制台上为应用程序设置正确的环境变量。

RAILS_MASTER_KEY=..correct key ommited deliberately..
RACK_ENV=development
RAILS_ENV=development
RAILS_LOG_TO_STDOUT=enabled
RAILS_SERVE_STATIC_FILES=enabled
SECRET_KEY_BASE=key correct ommited deliberately..

此外,我目前的基本计划应该允许我部署 Rails 应用程序,并且我还尝试设置应用程序级别环境变量,但它们被我在创建新应用程序时最初设置的环境覆盖。

我的设置:

  • Ruby 和 Rails 版本:

    ruby 3.2.2(2023-03-30 修订版 e51014f9c0)[x86_64-darwin20] 导轨 7.1.3

  • gemfile 中的平台配置:

    gem 'tzinfo-data',平台:%i[mingw mswin x64_mingw jruby] 组:开发,:测试 gem '调试',平台:%i[mri mingw x64_mingw] 结束(已编辑)

应用平台错误代码参考规定此问题是由*引起的

容器未响应健康检查。如果健康检查是 失败,这意味着外部流量未到达我的服务 在预期的 HTTP 路由

*。如果这是解决方案,如何确保外部流量到达我的服务来解决此问题?

ruby-on-rails digital-ocean ruby-on-rails-7 health-check
1个回答
1
投票

最终通过删除

RAILS_SERVE_STATIC_FILES=enabled
和 S
ECRET_KEY_BASE
更新我的环境变量解决了该问题,然后将
RACK_ENV
RAILS_ENV
从开发更改为生产。

应用程序部署成功,但出现了非常奇怪的绿屏。但至少健康检查问题得到了解决。

之前

RAILS_MASTER_KEY=..correct key ommited deliberately..
RACK_ENV=development
RAILS_ENV=development
RAILS_LOG_TO_STDOUT=enabled
RAILS_SERVE_STATIC_FILES=enabled
SECRET_KEY_BASE=key correct ommited deliberately..

已更新

RAILS_MASTER_KEY=..correct key ommited deliberately..
RACK_ENV=production
RAILS_ENV=production
RAILS_LOG_TO_STDOUT=enabled
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.