前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PM2用环境变量隔离Node.js项目的开发与生产环境!

PM2用环境变量隔离Node.js项目的开发与生产环境!

原创
作者头像
Learn-anything.cn
发布2021-11-26 10:58:28
3.5K0
发布2021-11-26 10:58:28
举报
文章被收录于专栏:learn-anything.cn
一、问题简介

develop 和 production 运行的环境有很大差别,譬如两个环境下的数据库地址、用户名等都是不一样的,硬编码这些参数不是好的选择,通过环境变量可以很好解决。

二、解决方案
1、生成配置文件
  • pm2 init simple
代码语言:txt
复制
// 生成默认配置文件:ecosystem.config.js
module.exports = {
apps : [{
    name   : "app1",
    script : "./app.js"
}]
}
2、添加环境变量配置
代码语言:txt
复制
// ecosystem.config.js
module.exports = {
    apps: [{
        name: "app1",
        script: "./app.js",
        env: {
						"ip": "192.168.1.2",
            "NODE_ENV": "development"
        },
        env_production: {
						"ip": "192.168.1.1",
            "NODE_ENV": "production",
        }
      	env_develop: {
            "ip": "192.168.1.2",
            "NODE_ENV": "develop",
        }
    }]
}
3、调用环境变量
  • env 默认环境变量,只要启动应用:pm2 start ecosystem.config.js,那么 ip 变量就会被传递给应用 app1
  • env_production 对应调用方式是:pm2 start ecosystem.config.js --env production
  • env_develop 对应调用方式是:pm2 start ecosystem.config.js --env develop
  • 规则是 :配置文件中定义 env_ 开头的属性,那么就用 --env 参数调用。
4、--update-env : 更新环境变量
代码语言:txt
复制
NODE_ENV=production pm2 restart web-interface --update-env
三、参考文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题简介
  • 二、解决方案
    • 1、生成配置文件
      • 2、添加环境变量配置
        • 3、调用环境变量
          • 4、--update-env : 更新环境变量
          • 三、参考文档
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档