簡體   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