2013-12-11 4 views
7

Я пытаюсь настроить Meteor для использования pm2 (https://github.com/Unitech/pm2) вместо того, чтобы навсегда быть монитором процесса узла. Мне не повезло в том, что переменные окружения, которые приложение Meteor должно видеть в процессе pm2.PM2 + Настройка окружения метеоров

Вот мой процесс:

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

В журнале ошибок от пм2 я вижу, что мой Метеор приложение жалуется, что он не может найти 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 

Это происходит потому, что пм2 оборачивает все в новом процессе его собственных, которые не могут видеть переменные исходной среды. Я думаю, что theres также способ поместить переменные среды в файл 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

есть способ добавить meteor - настройки на это? –

1

Go и оформления заказа PM2-метеора. Должно помочь вам создать pm2-env.json.

$ npm i -g pm2-meteor 
$ cd myMeteorProject 
$ pm2-meteor --settings meteor-settings.json 
Смежные вопросы