2017-07-03 26 views
0

我使用rabbitmq,mongodb和mysql与我的webservices。 为了让我的web服务保持清醒状态,我使用了npm forever模块(永远启动app.js)。如何让我的web服务在nodejs中保持清醒状态,永久运行,尽管我使用的是永远的npm模块?

warn: --minUptime not set. Defaulting to: 1000ms 
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms 
info: Forever processing file: app.js 

但是我的网络服务在一段时间后可能会在开始9-12小时后关闭。 如果我使用节点应用程序重新启动我的Web服务或永久启动app.js,我的Web服务再次表现良好,并在特定时间间隔后再次下降,并且此循环继续进行。 是否有任何可能的方法来解决这个问题,我也想知道这个的原因?

回答

1

确保您将控制台日志和错误日志写入文件,并检查是否有任何错误正在终止节点进程。

forever start -o logs/out.log -e logs/err.log app.js 

这可能有助于排除异常并处理它们。

+0

ohhh很好,但日志文件将创建? – Jagadeesh

+0

在您的应用程序文件夹内创建一个日志目录,永远会在那里写入日志。 –

+0

这是目前为止我的错误日志中永久存在的内容。 (node:20336)MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个记录的监听器。使用emitter.setMaxListeners()增加限制 (node:20336)MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个错误侦听器。使用emitter.setMaxListeners()增加限制 – Jagadeesh