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