You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Elastic Beanstalk Dev环境Rails.env显示production问题求助

解决Elastic Beanstalk Dev环境Rails.env显示production的问题

嘿,这个坑我之前踩过!AWS Elastic Beanstalk默认会把所有部署的Rails应用都强制设为production环境,不管你命名的是Dev还是Prod环境,所以得手动给你的Dev-env指定Rails环境变量才行。下面是具体的解决方法:

方法1:通过AWS控制台配置环境变量

这是最直观的方式:

  • 登录AWS控制台,找到Elastic Beanstalk服务,进入你的Dev-env环境
  • 点击左侧导航栏的「配置」,找到「软件」配置模块,点击「编辑」
  • 在「环境属性」区域,添加一个新的键值对:
    • 键:RAILS_ENV
    • 值:development
  • 保存配置,EB会自动重启你的Dev环境,生效后再检查Rails.env就会显示development,日志路径也会变成/var/app/current/log/development.log了

方法2:通过EB CLI配置

如果你习惯用命令行操作,可以这么弄:

方式A:直接设置环境变量

执行这条命令(替换成你的环境名):

eb setenv RAILS_ENV=development --environment Dev-env

执行后EB会自动更新环境配置并重启应用。

方式B:编辑.elasticbeanstalk/config.yml

修改你现有的配置文件,给Dev-env添加环境变量配置:

branch-defaults:
  develop:
    environment: Dev-env
  master:
    environment: Prod-env
environment-defaults:
  Dev-env:
    branch: null
    repository: null
    env:
      RAILS_ENV: development
  Prod-env:
    branch: null
    repository: null
global: ... # 保留你原来的global配置

然后执行部署命令:

eb deploy Dev-env

额外注意事项

  • 如果你有database.yml或者其他依赖环境的配置文件,要确保development环境的配置和你的Dev-env资源匹配(比如数据库连接信息)
  • 配置生效后,可以通过eb ssh Dev-env进入实例,执行echo $RAILS_ENV或者在Rails控制台里输入Rails.env来验证是否设置成功

内容的提问来源于stack exchange,提问作者hood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:26:02