是什么让我的节点应用程序使用 pm2 每 30 秒重新启动一次
What makes my node app restart every 30 seconds using pm2
我对 pm2 还是很陌生,目前正在尝试获取节点应用程序 运行。这工作正常,除了应用程序无故重启。
应用程序在开发机器上运行良好,没有任何崩溃。日志文件没有显示任何崩溃。 (已经测试日志文件会记录崩溃。)
我是不是配置错了pm2?
ecosystem.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"
}
}
logs/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...
这个指令可能有问题:'max_memory_restart'。 1 MB 的应用程序价值非常低。尝试增加到 ~200MB - 取决于您的应用程序内存要求。
编辑:该指令表示可以消耗的最大内存量。如果进程将分配更多,它将被重新启动。
我对 pm2 还是很陌生,目前正在尝试获取节点应用程序 运行。这工作正常,除了应用程序无故重启。
应用程序在开发机器上运行良好,没有任何崩溃。日志文件没有显示任何崩溃。 (已经测试日志文件会记录崩溃。)
我是不是配置错了pm2?
ecosystem.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"
}
}
logs/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...
这个指令可能有问题:'max_memory_restart'。 1 MB 的应用程序价值非常低。尝试增加到 ~200MB - 取决于您的应用程序内存要求。
编辑:该指令表示可以消耗的最大内存量。如果进程将分配更多,它将被重新启动。