2013-12-11 134 views
7

我想設置流星使用pm2(https://github.com/Unitech/pm2)而不是永遠作爲節點進程監視器。我沒有得到pm2進程需要看到Meteor應用程序的環境變量。PM2 +流星環境設置

這裏是我的過程:

export MONGO_URL="mongodb://localhost:27017/meteor" 
export PORT=4000 
export ROOT_URL="https://beta.example.com/" 
pm2 start main.js --name MyMeteorApp 

在從PM2我看到我的流星應用程序時報告說找不到MONGO_URL錯誤日誌。

有沒有具體的方法,我需要做出口,以便與pm2工作?

回答

0

做了一些挖掘之後,我找到了正確的答案。在pm2中,將放置在JSON任務定義內的任何不是保留關鍵字之一的內容都導出到您在pm2內部作爲環境變量運行的進程。

+0

如什麼變量名? –

1

它與pm2有點奇怪。但是,這樣的事情可以工作

pm2 kill 
MONGO_URL="mongodb://localhost:27017/meteor" PORT=4000 ROOT_URL="https://beta.example.com/" pm2 start app.js --name MyMeteorApp 

這是因爲包裝PM2一切都變成了自己的一個新的進程,不能看到原來的環境變量。我認爲這也是一種將環境變量放入JSON文件的方式,但我不確定文檔的空間有多清晰

7

您可以創建process.json(PM2車隊配置文件)文件,您可以在其中指定環境變量。

例如:

{ 
    "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/" 
     } 
    } 
    ] 
} 

的開始:pm2 start processes.json

+0

有沒有添加流星的方法? –

1

圍棋和檢測PM2-流星。應該幫助你生成一個pm2-env.json。

$ npm i -g pm2-meteor 
$ cd myMeteorProject 
$ pm2-meteor --settings meteor-settings.json