Best one I figured out so far is to use process manager to run the app 24*7 and integrate it with web admin control to monitor from anywhere.
I have used PM2 and Keymetrics as a solution for this.
You can use PM2 as global npm module to run your node program and serve it via Nginx as a proxy.
Run your node program using PM2.
pm2 start app.js --name=user app
This should run your app forever.
You can use pm2 list command to check the status. If your program crash it will restart it so no downtime.
Now connect it with keymetrics to see the status on web.
Complete tutorial: https://codeforgeek.com/2016/02/nodejs-monitoring-using-pm2/
Hope it helps.
PS: I have tried and tested it in three production system.