Konwertuj Js na usługę (NodeJs): Uruchom NodeJs jako usługę Windows
Wielu osobom zapewne wiadomo, że NodeJS ma ogromne wycieki pamięci podczas działania jako usługa. Myślę, że w przypadku Windows nie będzie to wyjątkiem.
W konsekwencji standardowe programy, takie jak: NSSM https://nssm.cc/ czy WinSW, nie nadają się do konwersji NodeJS na Usługę. Istnieją programy komercyjne, które monitorują wycieki pamięci:
- AlwaysUp
- FireDaemon Pro
- EXE Service
Użyjemy EXE Service, ponieważ dostarcza on gotowy przykład konfiguracji do konwersji NodeJS na Usługę, a także posiada skrypty js do naprawy usługi, aby zapewnić jej stabilne działanie.Nie martw się o używanie JavaScript (ES2023) w "EXE to Service"; wykorzystuje on własny silnik js zaprojektowany do naprawy usług i powiadamiania nas o słabej aktywności usługi.
Jak uruchomić Node.js jako usługę Windows
Krok 1: Otwórz EXE Service
Po zainstalowaniu EXE Service na pulpicie pojawi się skrót.
Interfejs graficzny ma na celu jedynie uproszczenie tworzenia usługi.Jeśli używasz Windows Server bez interfejsu graficznego, masz dwie opcje:
- Utwórz usługę na zwykłym komputerze, a następnie przenieś ją na serwer.
- Uruchom exeservice.exe bezpośrednio na serwerze za pomocą wiersza poleceń. (Interfejs graficzny obsługuje Windows Nano/Core)
Krok 2: Utwórz nową usługę
EXE Service zawiera już gotowy przykład konwersji js na Usługę (NodeJS).
Wystarczy kliknąć przycisk "Utwórz z przykładu".

Krok 3: Ustaw ścieżkę do skryptów NodeJS
W oknie, które się pojawi, musisz podać poprawne ścieżki:
- Ścieżka do pliku wykonywalnego nodejs.exe:Domyślnie:
C:\Program Files\nodejs\ - Katalog roboczy:Wskaż folder, w którym znajdują się Twoje skrypty.
- Argumenty:Wskaż argumenty do uruchomienia nodejs.

Krok 4: Zapisz i uruchom usługę
Kliknij "Utwórz usługę", aby utworzyć usługę Windows.
Jeśli chcesz, aby usługa uruchomiła się natychmiast na tym komputerze, kliknij "Uruchom".
Po tym NodeJS będzie:
- Uruchamiany jako usługa Windows
- Uruchamiany automatycznie z systemem
- Zarządzany przez Menedżera usług Windows (
services.msc)
W kolejnych artykułach wyjaśnię, jak tworzyć powiadomienia oraz jak radzić sobie z sytuacjami krytycznymi w Node.js, gdy występują wycieki pamięci.