PM2 +流星环境设置

Dig*_*ord 9 meteor

我试图设置Meteor使用pm2(https://github.com/Unitech/pm2)而不是永远作为节点进程监视器.我没有幸运获得pm2进程需要看到Meteor应用程序的环境变量.

这是我的过程:

export MONGO_URL="mongodb://localhost:27017/meteor"
export PORT=4000
export ROOT_URL="https://beta.example.com/"
pm2 start main.js --name MyMeteorApp
Run Code Online (Sandbox Code Playgroud)

在pm2的错误日志中,我看到我的Meteor应用程序抱怨无法找到MONGO_URL.

为了使用pm2,我需要一个特定的方法来进行导出吗?

ruX*_*ruX 8

您可以创建process.json(PM2 fleet配置文件)文件,您可以在其中指定环境变量.

例如:

{
  "apps": [
    {
      "name": "MyMeteorApp",
      "script": "./main.js",
      "log_date_format": "YYYY-MM-DD",
      "exec_mode": "fork_mode",
      "env": {
        "PORT": 4000,
        "MONGO_URL": "mongodb://localhost:27017/meteor",
        "ROOT_URL": "https://beta.example.com/"
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

开始: pm2 start processes.json


Dig*_*ord -3

经过一番挖掘后,我找到了正确的答案。在 pm2 中,您放置在 JSON 任务定义中的任何内容(不是保留关键字之一)都会作为环境变量导出到您在 pm2 中运行的进程中。