【问题标题】:What makes my node app restart every 30 seconds using pm2是什么让我的节点应用程序使用 pm2 每 30 秒重新启动一次
【发布时间】:2017-03-06 05:55:57
【问题描述】:

我对 pm2 还是很陌生,目前正在尝试让节点应用程序运行。这可以正常工作,除了应用程序会无缘无故地重新启动。

应用程序在开发机器上运行良好,没有任何崩溃。日志文件没有显示任何崩溃。 (已经测试日志文件会记录崩溃。)

我是不是把pm2配置错了?

生态系统.json

{
  "name"             : "app1",
  "cwd"              : "/home/pm2/apps/app1/prod",
  "script"           : "dist/main.js",
  "log_date_format"  : "YYYY-MM-DD HH:mm Z",
  "error_file"       : "/home/pm2/apps/app1/logs/stderr.log",
  "out_file"         : "/home/pm2/apps/app1/logs/stdout.log",
  "pid_file"         : "/home/pm2/apps/app1/pids/app1.pid",
  "instances"        : 1, //or 0 => 'max'
  "min_uptime"       : "200s", // 200 seconds, defaults to 1000
  "max_restarts"     : 10, // defaults to 15
  "max_memory_restart": "1M", // 1 megabytes, e.g.: "2G", "10M", "100K", 1024 the default unit is byte.
  "cron_restart"     : "1 0 * * *",
  "watch"            : false,
  "ignore_watch"     : "./logs",
  "exec_interpreter" : "node",
  "env": {
    "NODE_ENV": "production"
  }
}

日志/stdout.log

2016-10-24 14:28 +02:00: server listening on port 3100
2016-10-24 14:28 +02:00: server listening on port 3100
2016-10-24 14:29 +02:00: server listening on port 3100
2016-10-24 14:29 +02:00: server listening on port 3100
2016-10-24 14:30 +02:00: server listening on port 3100
2016-10-24 14:30 +02:00: server listening on port 3100

logs/stderr.log

//empty...

【问题讨论】:

    标签: node.js server pm2


    【解决方案1】:

    这个指令可能有问题:'max_memory_restart'。 1 兆字节的应用程序价值非常低。尝试增加到 ~200MB - 取决于您的应用程序内存要求。

    编辑:该指令表示可以消耗的最大内存量。如果进程将分配更多,它将被重新启动。

    【讨论】:

    • 谢谢!那非常快而且完全正确。我想我没有看说明书。 :-/ (我会责怪那个网站我从那里复制了 json ;-)
    • :) 很高兴为您提供帮助。我还建议您清理一下您的配置。例如对于 *.js 文件是“节点”默认解释器等。
    猜你喜欢
    • 1970-01-01
    • 2016-09-27
    • 2022-08-06
    • 2021-07-18
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    相关资源
    最近更新 更多