我强烈建议同时使用Monit 和 upstart。Upstart 可以轻松地对 node.js 进行去魔化,Monit 包含大量有用的应用程序检查,包括内存使用情况、http 请求、cpu 使用情况……
这是您可以获得的最基本设置的示例。您还可以轻松添加另一个监控配置(使用相同的启动和停止脚本),但使用 PID 文件和监控进程统计信息。
对于以下配置,在您的应用程序中创建一个简单的仅限本地请求处理程序,如果一切正常,它只会以状态 200 响应。
监控配置:
check host app_name with address 127.0.0.1
start "/sbin/start app_name"
stop "/sbin/stop app_name"
if failed port 80 protocol HTTP
request /ok
with timeout 5 seconds
then restart
新贵脚本(/etc/init/app_name):
description "app_name"
start on startup
stop on shutdown
script
# Node needs HOME to be set
export HOME="path/to/node/app"
exec sudo -u nodejs /usr/local/bin/node path/to/node/app/server.js production 2>>/var/log/app_name.error.log >>/var/log/app_name.log
end script