繁体   English   中英

将环境变量传递给pm2无法正常工作

[英]Passing environment variable to pm2 is not working

我在使用babel的js节点中有两个API,我有一个package.json命令可用于使应用程序正常工作,这是以下命令:

"build": "del-cli dist/ && babel src -d dist --copy-files",
"serve": "cross-env NODE_ENV=production node dist/index.js",
"start:noupdate": "cross-env NODE_ENV=development babel-node src/index.js",
"start:serve": "cross-env NODE_ENV=production node dist/index.js",

我有两个域,一个是https://api.website1.com.br ,另一个是https://website2.com.br/api

它们具有相同的env文件名,但每个数据库都有另一个数据,即.env.production和.env.development

当我进行“纱线构建”时,我的Linux执行以下命令:

"build": "del-cli dist/ && babel src -d dist --copy-files",

当我尝试在实际的Web服务器上进入生产模式时,这工作正常,我从项目转到文件夹,然后运行以下命令以使应用程序与PM2联机:

pm2 start npm -- run-script start:serve NODE_ENV=production

这将使此命令起作用:

"cross-env NODE_ENV=production node dist/index.js"

该应用程序运行正常,但是我有一个问题,他只能运行一个,而没有创建新的PM2 APP,他只是重新启动了我启动的程序。

例如,如果我转到我的https://api.website1.com.br中的文件夹并首先运行此命令,则他启动,但是我转到另一个他没有启动但重新加载我已经很早的应用程序,不要创建一个新的,我做错了什么?

我设法使用pm2生态系统来工作,我可以在http://pm2.keymetrics.io/docs/usage/application-declaration/

我配置默认文件并为我的APP命名:

module.exports = {
  apps : [{
    name: "app",
    script: "./app.js",
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production",
    }
  }]
}

并使用此命令pm2启动ecosystem.config.js ,现在可以正常工作了,我在这里发布消息,以了解是否有人遇到相同的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM