You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

部署后如何将NODE_ENV设为production?Node环境变量配置疑问

如何在Heroku/AWS等平台设置NODE_ENV为production

嘿,这个问题其实挺典型的——本地设置NODE_ENV的方法我们都熟,但到了云平台部署时确实得跟着平台的规则来,我给你梳理下Heroku和AWS常见服务的具体操作方式~

首先得强调:永远不要在Node应用代码里硬编码NODE_ENV的值,保持用环境变量配置的方式才是最佳实践,这样在不同环境(开发/测试/生产)切换时更灵活。

Heroku 设置方式

Heroku把环境变量叫做「Config Vars」,有两种简单的配置方式:

  • 命令行快速设置
    打开终端,确保已经登录Heroku CLI,然后运行:

    heroku config:set NODE_ENV=production
    

    这个命令会直接把变量添加到你的应用配置中,下次部署或重启应用就会自动生效。

  • 后台界面可视化配置

    1. 登录Heroku后台,找到你的目标应用
    2. 切换到「Settings」标签页
    3. 找到「Config Vars」区域,点击「Reveal Config Vars」
    4. 输入键名NODE_ENV,值production,点击保存就搞定了

小提示:Heroku在默认的生产部署流程中,其实会自动把NODE_ENV设为production,但手动设置一遍更稳妥,避免依赖平台的默认行为(比如某些特殊场景下可能不生效)。

AWS 设置方式

AWS的服务生态比较多,不同服务的环境变量配置方式略有不同,这里讲几个最常用的场景:

1. Elastic Beanstalk(托管式Node应用)

如果你用EB来部署Node.js应用,设置方式很直观:

  • EB CLI命令行
    在本地项目目录下运行:
    eb setenv NODE_ENV=production
    
  • AWS控制台操作
    1. 打开Elastic Beanstalk控制台,选择你的应用环境
    2. 进入「Configuration」标签页
    3. 找到「Software」配置模块,点击「Edit」
    4. 在「Environment properties」区域添加键值对:NODE_ENV = production,保存即可

2. EC2实例(手动部署)

如果是自己在EC2 Linux实例上部署Node应用,和本地Linux的设置逻辑类似,但要注意让变量永久生效:

  • 临时生效(仅当前终端会话):
    export NODE_ENV=production
    
  • 永久生效(所有用户/会话):
    编辑用户的~/.bashrc~/.bash_profile文件(或者全局的/etc/profile),添加一行:
    export NODE_ENV=production
    
    然后运行source ~/.bashrc让改动立即生效,重启Node应用就会读取这个变量。

3. Lambda(无服务器函数)

如果是用Lambda运行Node.js函数,配置环境变量的步骤是:

  1. 打开AWS Lambda控制台,进入你的目标函数
  2. 切换到「Configuration」标签页,选择「Environment variables」
  3. 点击「Edit」,添加NODE_ENV = production,保存后函数执行时就会自动读取这个变量

最后再提个小建议

本地开发时可以用dotenv包配合.env文件管理环境变量,但一定要把.env文件加入到.gitignore里,绝对不要提交到代码仓库——部署环境的变量统一用云平台的配置功能来设置,这样既安全又灵活。

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

火山引擎 最新活动