4 Upravitelji procesov za aplikacije Node.js v Linuxu


Upravitelj procesov Node.js je uporabno orodje za zagotovitev, da se postopek ali skript Node.js neprestano (za vedno) izvaja in mu lahko omogoči samodejni zagon ob zagonu sistema.

Omogoča vam spremljanje delujočih storitev in olajša običajne naloge skrbništva sistema (kot so ponovni zagon ob okvari, zaustavitev, ponovno nalaganje konfiguracij brez izpadov, spreminjanje spremenljivk/nastavitev okolja, prikaz meritev uspešnosti in še veliko več). Podpira tudi beleženje aplikacij, združevanje v skupine in uravnoteženje obremenitve ter številne druge uporabne funkcije upravljanja procesov.

Upravitelj paketov je koristen predvsem za razmestitev aplikacij Node.js v produkcijskem okolju. V tem članku bomo pregledali štiri upravitelje procesov za upravljanje aplikacij Node.js v sistemu Linux.

1. PM2

PM2 je odprtokodna, napredna, s funkcijami bogata večplastna platforma in najbolj priljubljen vodja procesov na ravni proizvodnje za Node.js z vgrajenim izravnalnikom obremenitve. Omogoča vam seznam, spremljanje in izvajanje vseh zagnanih procesov Nodejs, podpira pa način gruče.

Podpira spremljanje aplikacij: ponuja preprost način za spremljanje uporabe virov (pomnilnik in CPU) vaše aplikacije. Podpira vaš potek upravljanja procesa, tako da vam omogoča konfiguriranje in prilagajanje vedenja vsake aplikacije prek procesne datoteke (podprte oblike vključujejo Javascript, JSON in YAML).

Dnevniki aplikacij so v proizvodnem okolju vedno ključni, zato vam PM2 omogoča enostavno upravljanje dnevnikov aplikacije. Ponuja različne načine in formate za obdelavo in prikaz dnevnikov. Dnevnike lahko prikažete v realnem času, jih splaknete in po potrebi znova naložite.

Pomembno je, da PM2 podpira zagonske skripte, ki jih lahko konfigurirate za samodejni zagon procesov med pričakovanimi ali nepričakovanimi ponovnimi zagoni računalnika. Podpira tudi samodejni ponovni zagon aplikacije, ko je datoteka spremenjena v trenutnem imeniku ali njegovih podimenikih.

Poleg tega ima PM2 sistem modulov, ki uporabnikom omogoča ustvarjanje modulov po meri za upravljanje procesov Nodejs. Na primer, lahko ustvarite modul za modul vrtenja dnevnika ali izravnavo obremenitve in še veliko več.

Nenazadnje, če uporabljate Dockerjeve vsebnike, PM2 omogoča integracijo vsebnikov in ponuja sistem API, ki omogoča programsko uporabo.

StrongLoop PM je tudi odprtokodni, napredni upravitelj proizvodnih procesov za aplikacije Node.js z vgrajenim uravnavanjem obremenitve, tako kot PM2, in ga lahko uporabljate prek ukazne vrstice ali grafičnega vmesnika.

Podpira spremljanje aplikacij (oglejte si meritve uspešnosti, kot so časi zanke dogodkov, poraba procesorja in pomnilnika), uvajanje več gostiteljev, način gruče, ponovni zagon in nadgradnje aplikacij brez izpada, samodejni ponovni zagon procesa ob okvari ter združevanje in upravljanje dnevnikov.

Poleg tega je dobavljen s podporo za Docker, omogoča izvoz meritev zmogljivosti v strežnike, združljive s StatsD, in ogled v drugih konzolah, kot so DataDog, Graphite, Syslog in surove dnevniške datoteke.

3. Za vedno

Forever je odprtokodno, preprosto in nastavljivo orodje za vmesnike ukazne vrstice za neprekinjeno (za vedno) izvajanje določenega skripta. Primeren je za izvajanje manjših postavitev aplikacij in skriptov Node.js. Za vedno lahko uporabljate na dva načina: prek ukazne vrstice ali z vdelavo v kodo.

Omogoča vam upravljanje (zagon, seznam, ustavitev, ustavitev vseh, ponovni zagon, ponovni zagon itd.) Node.js procesov in podpira ubijanje procesa in prilagajanje izhodnega signala ter še veliko več. Poleg tega podpira več možnosti uporabe, ki jih lahko prenesete neposredno iz ukazne vrstice ali jih prenesete v datoteko JSON.

4. SystemD - Upravitelj storitev in sistema

V Linuxu je Systemd demon, ki upravlja sistemske vire, kot so procesi in druge komponente datotečnega sistema. Vsak vir, ki ga upravlja sistemd, je znan kot enota. Obstajajo različne vrste enot, vključno s servisnimi, napravami, vtičnicami, nosilci, tarčami in številnimi drugimi enotami.

Systemd upravlja enote prek konfiguracijske datoteke, znane kot datoteka enote. Če želite torej upravljati svoj strežnik Node.js kot vse druge sistemske storitve, morate zanj ustvariti datoteko enote, ki bo v tem primeru datoteka storitve.

Ko ustvarite datoteko storitve za strežnik Node.js, jo lahko zaženete, omogočite samodejni zagon ob zagonu sistema, preverite njeno stanje, znova zaženete (ustavite in znova zaženete) ali znova naložite svojo konfiguracijo in celo ustavite kot vse druge sistemske storitve.

Za več informacij glejte: Kako ustvariti in zagnati nove servisne enote v sistemu Systemd s pomočjo skripte lupine

Upravitelj paketov Node.js je uporabno orodje za razmestitev vašega projekta v produkcijskem okolju. Aplikacijo ohranja za vedno in poenostavlja nadzor nad njo. V tem članku smo pregledali štiri upravitelje paketov za Node.js. Če imate dodatna vprašanja ali vprašanja, uporabite spodnji obrazec za povratne informacije, da nas kontaktirate.