4 Upravitelja procesa za Node.js aplikacije u Linuxu


Upravitelj procesa Node.js koristan je alat za osiguravanje da proces ili skripta Node.js radi kontinuirano (zauvijek) i može omogućiti njegovo automatsko pokretanje pri pokretanju sustava .

Omogućuje vam praćenje pokrenutih usluga i olakšava uobičajene zadatke administracije sustava (kao što je ponovno pokretanje u slučaju kvara, zaustavljanje, ponovno učitavanje konfiguracija bez prekida rada, izmjena varijabli/postavki okruženja, prikazivanje metrike performansi i još mnogo toga). Također podržava bilježenje aplikacija, klasteriranje i balansiranje opterećenja, te mnoge druge korisne značajke upravljanja procesima.

Pročitajte također: 14 najboljih NodeJS okvira za programere u 2019.

Upravitelj paketa posebno je koristan za implementaciju Node.js aplikacija u proizvodnom okruženju. U ovom ćemo članku pregledati četiri upravitelja procesa za upravljanje aplikacijom Node.js u sustavu Linux.

1. PM2

PM2 je open-source, napredan, višeplatformski bogat značajkama i najpopularniji upravitelj procesa na produkcijskoj razini za Node.js s ugrađenim balanserom opterećenja. Omogućuje vam popis, nadzor i djelovanje na svim pokrenutim Nodejs procesima i podržava način klastera.

Podržava nadzor aplikacija: nudi jednostavan način praćenja korištenja resursa (memorije i procesora) vaše aplikacije. Podržava tijek rada upravljanja procesima dopuštajući vam da konfigurirate i prilagodite ponašanje svake aplikacije putem procesne datoteke (podržani formati uključuju Javascript, JSON i YAML<).

Dnevnici aplikacije uvijek su ključni u produkcijskom okruženju, u tom pogledu PM2 vam omogućuje jednostavno upravljanje zapisima vaše aplikacije. Omogućuje različite načine i formate za rukovanje i prikaz dnevnika. Možete prikazati zapise u stvarnom vremenu, isprati ih i ponovno učitati kada je to potrebno.

Važno je da PM2 podržava skripte za pokretanje koje možete konfigurirati da automatski pokreću vaše procese tijekom očekivanih ili neočekivanih ponovnih pokretanja stroja. Također podržava automatsko ponovno pokretanje aplikacije kada se datoteka izmijeni u trenutnom direktoriju ili njegovim poddirektorijima.

Uz to, PM2 dolazi sa sustavom modula koji korisnicima omogućuje stvaranje prilagođenih modula za upravljanje Nodejs procesima. Na primjer, možete izraditi modul za modul rotacije dnevnika ili balansiranje opterećenja i još mnogo toga.

Posljednje, ali ne manje važno, ako koristite Docker spremnike, PM2 omogućuje integraciju spremnika i nudi API sustav koji vam omogućuje da ga koristite programski.

2. StrongLoop PM

StrongLoop PM također je open-source, napredni upravitelj procesa proizvodnje za Node.js aplikacije s ugrađenim balansiranjem opterećenja baš kao PM2 i može se koristiti putem naredbe- liniju ili grafičko sučelje.

Podržava nadzor aplikacija (prikaz metrike performansi kao što su vremena petlje događaja, potrošnja CPU-a i memorije), implementaciju s više hostova, način rada klastera, ponovno pokretanje i nadogradnju aplikacija bez prekida rada, automatsko ponovno pokretanje procesa u slučaju kvara te prikupljanje i upravljanje zapisima.

Nadalje, isporučuje se s podrškom za Docker, omogućuje vam izvoz metrike performansi na poslužitelje kompatibilne sa StatsD-om i pregled u konzolama trećih strana kao što su DataDog, Graphite<, Splunk kao i Syslog i neobrađene datoteke dnevnika.

3. Zauvijek

Forever je alat otvorenog koda, jednostavan i konfigurabilan za sučelje naredbenog retka za neprekidno (zauvijek) pokretanje određene skripte. Prikladan je za pokretanje manjih implementacija Node.js aplikacija i skripti. zauvijek možete koristiti na dva načina: putem naredbenog retka ili ugradnjom u svoj kod.

Omogućuje vam upravljanje (pokretanje, popis, zaustavljanje, zaustavljanje svih, ponovno pokretanje, ponovno pokretanje svih, itd.) Node.js procesima i podržava praćenje promjena datoteka, način otklanjanja pogrešaka, zapise aplikacija, uništavanje prilagodbe procesa i izlaznog signala i još mnogo toga. Osim toga, podržava nekoliko opcija korištenja koje možete proslijediti izravno iz naredbenog retka ili ih proslijediti u JSON datoteci.

4. SystemD – Upravitelj usluga i sustava

U Linuxu, Systemd je demon koji upravlja sistemskim resursima kao što su procesi i druge komponente datotečnog sustava. Svaki resurs kojim upravlja systemd poznat je kao jedinica. Postoje različite vrste jedinica uključujući uslugu, uređaj, utičnicu, nosač, cilj i mnoge druge jedinice.

Systemd upravlja jedinicama putem konfiguracijske datoteke poznate kao datoteka unit. Stoga, kako biste upravljali svojim Node.js poslužiteljem kao i svim drugim uslugama sustava, morate za njega stvoriti jediničnu datoteku, koja će u ovom slučaju biti uslužna datoteka.

Nakon što ste kreirali servisnu datoteku za svoj Node.js poslužitelj, možete ga pokrenuti, omogućiti da se automatski pokrene pri dizanju sustava, provjeriti njegov status, ponovno pokrenuti (zaustaviti i ponovo pokrenuti) ili ponovno učitati njegovu konfiguraciju, pa čak i zaustaviti ga kao bilo koji drugi systemd servis.

Za više informacija pogledajte: Kako stvoriti i pokrenuti nove servisne jedinice u Systemd-u pomoću Shell Scripta

Sažetak

Upravitelj paketa Node.js koristan je alat za implementaciju vašeg projekta u produkcijskom okruženju. Održava aplikaciju živom zauvijek i pojednostavljuje način na koji je možete kontrolirati. U ovom smo članku pregledali četiri upravitelja paketa za Node.js. Ako imate bilo kakvih dodataka ili pitanja koja biste mogli postaviti, upotrijebite donji obrazac za povratne informacije kako biste nas kontaktirali.