4 Menadžera procesa za Node.js aplikacije u Linuxu


Node.js upravitelj procesa je koristan alat koji osigurava da proces ili skripta Node.js radi kontinuirano (zauvijek) i može omogućiti automatsko pokretanje pri pokretanju sistema .

Omogućava vam da nadgledate pokrenute usluge i olakšava uobičajene zadatke administracije sistema (kao što je ponovno pokretanje u slučaju kvara, zaustavljanje, ponovno učitavanje konfiguracija bez zastoja, modifikacija varijabli/postavki okruženja, prikazivanje metrike performansi i još mnogo toga). Takođe podržava evidentiranje aplikacija, grupisanje i balansiranje opterećenja i mnoge druge korisne funkcije upravljanja procesima.

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

Upravitelj paketa je koristan posebno za implementaciju Node.js aplikacija u proizvodnom okruženju. U ovom članku ćemo pregledati četiri menadžera procesa za Node.js upravljanje aplikacijama u Linux sistemu.

1. PM2

PM2 je open-source, napredan, bogat funkcijama, cross-platformski i najpopularniji menadžer procesa na nivou proizvodnje za Node.js sa ugrađenim balansatorom opterećenja. Omogućava vam da navedete, nadgledate i djelujete na sve pokrenute Nodejs procese i podržava klaster način rada.

Podržava praćenje aplikacija: nudi jednostavan način za praćenje upotrebe resursa (memorije i CPU) vaše aplikacije. Podržava vaš radni tok upravljanja procesima omogućavajući vam da konfigurirate i prilagodite ponašanje svake aplikacije putem procesne datoteke (podržani formati uključuju Javascript, JSON i YAML<).

Dnevnici aplikacija su uvijek ključni u proizvodnom okruženju, s tim u vezi PM2 vam omogućava da lako upravljate evidencijama vaše aplikacije. Pruža različite načine i formate za rukovanje i prikazivanje dnevnika. Možete prikazati zapisnike u realnom vremenu, isprazniti ih i ponovo učitati kada je to potrebno.

Važno je da PM2 podržava skripte za pokretanje koje možete konfigurirati za automatsko pokretanje vaših procesa nakon očekivanih ili neočekivanih ponovnih pokretanja stroja. Takođe podržava automatsko ponovno pokretanje aplikacije kada se datoteka modificira u trenutnom direktoriju ili njegovim poddirektorijumima.

Osim toga, PM2 dolazi sa modulskim sistemom koji omogućava korisnicima da kreiraju prilagođene module za Nodejs upravljanje procesima. Na primjer, možete kreirati modul za modul rotacije dnevnika ili balansiranje opterećenja i još mnogo toga.

Na kraju, ali ne i najmanje važno, ako koristite Docker kontejnere, PM2 omogućava integraciju kontejnera i nudi API sistem koji vam omogućava da ga koristite programski.

2. StrongLoop PM

StrongLoop PM je također open-source, napredni menadžer proizvodnih procesa za Node.js aplikacije sa ugrađenim balansiranjem opterećenja baš kao PM2 i može se koristiti putem komande- liniju ili grafički interfejs.

Podržava praćenje aplikacija (pogledajte metriku performansi kao što su vremena petlje događaja, potrošnja CPU-a i memorije), implementaciju na više hostova, način rada klastera, ponovno pokretanje i nadogradnju aplikacija bez zastoja, automatsko ponovno pokretanje procesa u slučaju neuspjeha i agregiranje i upravljanje evidencijama.

Nadalje, isporučuje se s podrškom za Docker, omogućava vam da izvezete metriku performansi na servere kompatibilne sa StatsD i pregledate na konzolama treće strane kao što su DataDog, Graphite<, Splunk, kao i Syslog i neobrađene datoteke dnevnika.

3. Zauvijek

Forever je open-source, jednostavan i konfigurabilan alat za interfejs komandne linije za kontinuirano (zauvek) pokretanje date skripte. Pogodan je za pokretanje manjih implementacija Node.js aplikacija i skripti. Možete koristiti zauvijek na dva načina: preko komandne linije ili ugradnjom u svoj kod.

Omogućava vam da upravljate (pokretanje, listanje, zaustavljanje, zaustavljanje svih, ponovno pokretanje, ponovno pokretanje svih, itd.) Node.js procesima i podržava praćenje promjena datoteka, način otklanjanja grešaka, evidencije aplikacija, ubijanje prilagođavanja procesa i izlaznog signala i još mnogo toga. Osim toga, podržava nekoliko opcija korištenja koje možete proslijediti direktno iz komandne linije ili ih proslijediti u JSON datoteci.

4. SystemD – Service and System Manager

U Linuxu, Systemd je demon koji upravlja sistemskim resursima kao što su procesi i druge komponente sistema datoteka. Svaki resurs kojim upravlja systemd je poznat kao jedinica. Postoje različite vrste jedinica uključujući servis, uređaj, utičnicu, montažu, metu i mnoge druge jedinice.

Sistem upravlja jedinicama putem konfiguracijskog fajla poznatog kao unit fajl. Stoga, da biste upravljali vašim Node.js serverom kao i svim drugim sistemskim uslugama, morate za njega kreirati jediničnu datoteku, koja će u ovom slučaju biti servisna datoteka.

Nakon što kreirate servisni fajl za vaš Node.js server, možete ga pokrenuti, omogućiti mu da se automatski pokrene u vrijeme pokretanja sistema, provjerite njegov status, ponovo pokrenite (zaustavite i pokrenite ponovo) ili ponovo učitajte njegovu konfiguraciju, pa čak i zaustavite ga kao i sve druge sistemske usluge.

Za više informacija pogledajte: Kako kreirati i pokrenuti nove servisne jedinice u Systemd koristeći shell skriptu

Sažetak

Node.js menadžer paketa je koristan alat za implementaciju vašeg projekta u proizvodnom okruženju. Zauvijek održava aplikaciju živom i pojednostavljuje kako je možete kontrolirati. U ovom članku pregledali smo četiri menadžera paketa za Node.js. Ako imate bilo kakvih dodataka ili pitanja koja trebate postaviti, koristite obrazac za povratne informacije u nastavku kako biste nas kontaktirali.