javascript – 即使在使用JS之后,节点JS应用程序也会崩溃

我只是厌倦了看到我的服务器每次都关机时都会停机.每当我醒来它就会失灵.每次我必须去SSH然后运行

forever restartall 

重新启动我的节点应用程序:(

我查看了永远的日志文件,并说明了这一点

error: Forever detected script was killed by signal: SIGKILL
error: Script restart attempt #1

我完全不知道为什么会这样.

我甚至在每50分钟后运行一个cron作业来自动重启节点js,以防它自身崩溃

0,50 * * * * * forever restartall

我的应用程序在Ubuntu EC2 AWS上运行.我使用以下命令永远启动我的节点应用程序:

forever -m5000 -w start index.js

此外,最近发生了一些最近发生的系统日志

Jun  1 12:50:01 ip-172-31-28-35 CRON[25924]: (ubuntu) CMD (forever restartall)
Jun  1 12:50:01 ip-172-31-28-35 CRON[25923]: (CRON) info (No MTA installed, discarding output)
Jun  1 13:00:01 ip-172-31-28-35 CRON[25930]: (ubuntu) CMD (forever restartall)
Jun  1 13:00:01 ip-172-31-28-35 CRON[25929]: (CRON) info (No MTA installed, discarding output)
Jun  1 13:05:50 ip-172-31-28-35 dhclient: DHCPREQUEST of 172.31.28.35 on eth0 to 172.31.16.1 port 67 (xid=0x58e67545)
Jun  1 13:05:50 ip-172-31-28-35 dhclient: DHCPACK of 172.31.28.35 from 172.31.16.1
Jun  1 13:05:50 ip-172-31-28-35 dhclient: bound to 172.31.28.35 -- renewal in 1415 seconds.
Jun  1 13:09:01 ip-172-31-28-35 CRON[26000]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/lib/php5 ] && /usr/lib/php5/sessionclean /var/lib/php5 $(/usr/lib/php5/maxlifetime))
Jun  1 13:17:01 ip-172-31-28-35 CRON[26016]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun  1 13:20:01 ip-172-31-28-35 CRON[26023]: (ubuntu) CMD (/home/ubuntu/cron/serv.sh)
Jun  1 13:20:01 ip-172-31-28-35 CRON[26022]: (CRON) info (No MTA installed, discarding output)
Jun  1 13:29:25 ip-172-31-28-35 dhclient: DHCPREQUEST of 172.31.28.35 on eth0 to 172.31.16.1 port 67 (xid=0x58e67545)
Jun  1 13:29:25 ip-172-31-28-35 dhclient: DHCPACK of 172.31.28.35 from 172.31.16.1
Jun  1 13:29:25 ip-172-31-28-35 dhclient: bound to 172.31.28.35 -- renewal in 1560 seconds.
Jun  1 13:34:39 ip-172-31-28-35 crontab[26289]: (ubuntu) LIST (ubuntu)

这是我的Ubuntu终端上的free-h命令的快照:
javascript  – 即使在使用JS之后,节点JS应用程序也会崩溃

这是df -h命令的快照:
javascript  – 即使在使用JS之后,节点JS应用程序也会崩溃

有没有办法解决这个问题,并诊断为什么我的应用程序崩溃了?

建议后的最新编辑和日志:
卸载MySQL.
添加了SWAP.
我添加了未捕获的异常代码
现在,当我今天醒来时,服务器再次关闭,这是我的永远日志http://kl1p.com/AI01和这些我的free-h刚刚崩溃和syslog截图https://snag.gy/WMzqL0.jpg
https://snag.gy/0wG8Dx.jpg

任何人都可以帮助什么导致RAM充分利用,以及为什么Node JS导致错误,如何解决它们?

解决方法:

我怀疑是记忆问题.暴力强迫永远重启(cron等)只会掩盖真正的问题.

将其添加到您的代码中:

process.on('uncaughtException', function (err) {
  console.log("Uncaught Exception:", err);
  process.exit(1);  // This is VITAL. Don't swallow the err and try to continue.
});

这将允许您开始诊断导致节点服务器失败的原因的过程.

上一篇:Spring Boot与第三方框架集成实战


下一篇:JS 数据与json的转化