[英]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.