Преобразование Js в службу (NodeJs): запуск NodeJs как службы Windows
Многим, вероятно, известно, что NodeJS имеет огромные утечки памяти при работе в качестве службы. Думаю, для Windows это не будет исключением.
Следовательно, стандартные программы, такие как: NSSM https://nssm.cc/ или WinSW, не подходят для преобразования NodeJS в службу. Существуют коммерческие программы, которые отслеживают утечки памяти:
- AlwaysUp
- FireDaemon Pro
- EXE Service
Мы будем использовать EXE Service, потому что она уже предоставляет готовый пример конфигурации для преобразования NodeJS в службу, а также содержит js-скрипты для исправления службы, чтобы обеспечить её стабильную работу.Не беспокойтесь об использовании JavaScript (ES2023) в "EXE to Service"; в ней используется собственный js-движок, предназначенный для исправления служб и уведомления нас о плохой активности службы.
Как запустить Node.js в качестве службы Windows
Шаг 1: Откройте EXE Service
После установки EXE Service на вашем рабочем столе появится ярлык.
Графический интерфейс предназначен только для упрощения создания службы.Если вы запускаете Windows Server без графического интерфейса, у вас есть два варианта:
- Создать службу на обычном ПК, а затем перенести её на сервер.
- Запустить exeservice.exe напрямую на сервере с помощью командной строки. (Графический интерфейс поддерживает Windows Nano/Core)
Шаг 2: Создайте новую службу
EXE Service уже включает в себя готовый пример преобразования js в службу (NodeJS).
Просто нажмите кнопку "Создать из примера".

Шаг 3: Установите путь к скриптам NodeJS
В появившемся окне необходимо указать правильные пути:
- Путь к исполняемому файлу nodejs.exe:По умолчанию:
C:\Program Files\nodejs\ - Рабочий каталог:Укажите папку, в которой находятся ваши скрипты.
- Аргументы:Укажите аргументы для запуска nodejs.

Шаг 4: Сохраните и запустите службу
Нажмите "Создать службу", чтобы создать службу Windows.
Если вы хотите, чтобы служба запустилась немедленно на этом компьютере, нажмите "Запустить".
После этого NodeJS будет:
- Запускаться как служба Windows
- Запускаться автоматически вместе с системой
- Управляться через Диспетчер служб Windows (
services.msc)
В следующих статьях я объясню, как создавать уведомления и как бороться с критическими ситуациями в Node.js, когда возникают утечки памяти.