Сервер я запускаю через консоль. А как на продакшене это у вас работает? Кто-то мониторит все время работает ли скрипт и перезапускает его через консоль?!
Он кажись при этом еще частенько вылетает из-за ошибок.
Albert Tatarin, менеджер процессов написанный на ноде и для ноды (хотя может и другие следить)
командой [sudo] pm2 startup повесит себя в автозагрузку (знает несколько систем инициализации, приоритет отдает system.d)
Из коробки умеет:
Запускать процессы и следить за ними, перезапускать при падении
Следить за потребляемыми ресурсами (проц, память), перезапуск при превышении
Управлять несколькими процессами одной командой
Разворачивать кластер процессов ноды (несколько процессов слушающие один порт)
Собирать логи со стандартного вывода (stdout) и вывода ошибок (stderr)
Да просто всё.
Устанавливаешь npm install -g forever
Разрешаешь ему запускать скрипты Ноды - apt-get install nodejs-legacy
Запускаешь из директории приложения: forever start server.js
(всё немного сложнее, но для начала и общего понимания запустится и так)