Как сделать, чтобы nodeJs сервер работал без активированной консоли?
1,00
р.
р.
Дали пробную неделю на VPS хостинг, поставил там NodeJS, но проблема в том, что он работает, только тогда, когда активирована консоль. Как сделать, чтобы он работал бесконечно?
Ответ С момента последнего ответа прошло уже три года. Node.js существенно "повзрослел" за это время, так что вопрос не потерял своей актуальности. Думаю стоит упомянуть еще несколько вариантов, которые отсутствуют в других ответах. Forever В экосистеме Node.js существует пакет forever. Его можно использовать как порождающего демона для вашего приложения. Из плюсов этого решения можно отметить простоту и возможность не писать дополнительный код. Кроме того, можно настроить forever так, чтобы он автоматически перезапускал приложение при его падении. Из минусов -- необходимость тащить в систему node.js скрипт-демон, который нужно устанавливать глобально. В ряде случаев это может оказаться неприемлемым. Запуск приложения, с использованием этого решения выглядит так: forever start app.js а его остановка: forever stop app.js PM2 Другим популярным решением из экосистемы Node.js является менеджер процессов PM2. Как и в случае с forever, pm2 это глобальный установленный node.js процесс-демон (со всеми плюсами и минусами). После его установки запуск приложения осуществляется командой: pm2 start app.js а его остановка: pm2 stop app.js init.d Можно написать обычный init.d скрипт для вашего приложения. Этот путь используют все нормальные службы Linux. Если говорить о плюсах этого решения, то ваше приложение будет запускаться и останавливаться самой системой, нет необходимости устанавливать лишний процесс демон. Из минусов -- вам перезапускать приложение при падении в ручную (или с помощью специальных утилит). Так же вам придется написать сам init.d скрипт. За основу можно взять, например, вот это решение. Запуск приложения, с использованием этого решения выглядит так service app-service-name start а его остановка service app-service-name stop