Я хочу запустить узел с pm2 и переменными среды, такими как --nouse-idle-notification
или --max-old-space-size=2048
.
Однако, что бы я ни делал, он не передает переменные узла. Я запускаю свое приложение с mp2 и файлом конфигурации. Файл конфигурации выглядит так:
{
"apps" : [{
"env": {
"NODE_PATH": "/usr/bin/node",
"interpreter_args": "--max-old-space-size=2048 --nouse-idle-notification"
},
"env_development": {
"NODE_ENV": "development"
},
"env_production" : {
"NODE_ENV": "production",
"APP_TYPE": "web"
},
"exec_mode" : "fork",
"name" : "MyApp",
"script" : "/opt/myapp/app.js",
"watch" : false,
"out_file" : "/var/log/app.log",
"error_file" : "/var/log/app.log",
"combine_logs": true,
"node_args": "--max-old-space-size=2048 --nouse-idle-notification",
"args": "--max-old-space-size=2048 --nouse-idle-notification"
}]
}
(как видите, я пытаюсь передать переменные узла несколькими способами)
Затем я запускаю приложение с помощью:
pm2 restart pathtojsonfile --env production
Все запускается правильно, и я вижу в своем коде такие переменные, как «MY_APP». Однако теперь, когда я смотрю на процесс с «верхним», я вижу только:
node /opt/myapp/app.js
Когда я запускаю приложение навсегда или вручную, я вижу такой процесс:
node --max-old-space-size=2048 --nouse-idle-notification /opt/myapp/app.js
pm2 просто не показывает эти аргументы узла или они действительно не передаются? (Запущенный процесс pm2 использует меньше памяти)
systemd
.service
, который вы используете с pm2. - person Mark Stosberg   schedule 08.12.2016