Я скачал исполняемый файл node.js. Как я могу запустить этот исполняемый файл как службу Windows? Я не могу использовать стандартный установщик node.js, поскольку мне нужно одновременно запускать несколько версий node.js.
node.js
windows-services
Тонна
источник
источник
Я нашел эту вещь настолько полезной, что построил вокруг нее еще более простую в использовании оболочку ( npm , github ).
Устанавливаем его:
Установка вашей службы:
Удаление вашей службы:
источник
WinSer - это дружественная к node.js оболочка популярного NSSM (Non-Sucking Service Manager).
источник
Из этого блога
источник
Я не обращаюсь к этому вопросу напрямую, но предлагаю альтернативу, которая также может удовлетворить ваши требования в стиле, более подходящем для node.js.
Функционально требования:
Эти требования могут быть выполнены с помощью диспетчера процессов (PM) и запуска диспетчера процессов при запуске системы. Два хороших PM, дружественных к Windows:
Чтобы PM запускался автоматически, самый простой способ - создать запланированную задачу с триггером «При запуске»:
источник
pm2
пакетный сценарий при запуске, обязательно включите переменные среды, иначе он не сработает. Обсуждается здесь: github.com/Unitech/pm2/issues/1079Менеджер процессов + планировщик задач подход я отправил год назад хорошо работает с какой - то один-офф установки службы. Но недавно я начал проектировать систему в стиле микросервисов, когда множество небольших сервисов общались друг с другом через IPC. Так что вручную настраивать каждую службу стало невыносимо.
Чтобы установить службы без ручной настройки, я создал serman , инструмент командной строки (установка с помощью
npm i -g serman
) для установки исполняемого файла как службы. Все, что вам нужно написать (и писать только один раз), - это простой файл конфигурации службы вместе с исполняемым файлом. Бегатьустановит сервис.
stdout
иstderr
все зарегистрированы. Для получения дополнительной информации посетите веб-сайт проекта .Рабочий файл конфигурации очень прост, как показано ниже. Но он также имеет много полезных функций, таких как
<env>
и<persistent_env>
ниже.источник