首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有systemd和传递节点参数的pm2

带有systemd和传递节点参数的pm2
EN

Stack Overflow用户
提问于 2016-12-08 02:03:51
回答 2查看 10.6K关注 0票数 4

我希望使用pm2和环境变量(如--nouse-idle-notification--max-old-space-size=2048 )启动节点。

但是,不管我做什么,它都不是传递节点变量。我用pm2和一个配置文件启动我的应用程序。配置文件如下所示:

代码语言:javascript
运行
复制
{
  "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"
  }]
}

(如您所见,我尝试以多种方式传递节点变量)

然后,我以以下内容开始这个应用程序:

代码语言:javascript
运行
复制
pm2 restart pathtojsonfile --env production

一切都在正常启动,我在代码中看到了像"MY_APP“这样的变量。然而,现在当我用"top“来查看这个过程时,我只看到:

代码语言:javascript
运行
复制
node /opt/myapp/app.js

当我永久地或手动地启动应用程序时,我可以看到这样的过程:

代码语言:javascript
运行
复制
node --max-old-space-size=2048 --nouse-idle-notification /opt/myapp/app.js

pm2只是没有显示那些节点参数,还是它们真的没有传入?( pm2启动进程使用的内存较少)

EN

Stack Overflow用户

回答已采纳

发布于 2016-12-08 16:09:00

通过使用"node_args":“--最大旧空间大小=2048年-nouse-空闲-通知”,您做了正确的事情,并且考虑到了这些参数。

PM2重命名进程并在进程标题中删除指定的节点参数。

票数 5
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41030594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档