4 procesu pārvaldnieki Node.js lietojumprogrammām Linux


Node.js procesu pārvaldnieks ir noderīgs rīks, lai nodrošinātu, ka Node.js process vai skripts darbojas nepārtraukti (uz visiem laikiem) un var ļaut tam automātiski startēt sistēmas sāknēšanas laikā.

Tas ļauj jums uzraudzīt darbojošos pakalpojumus un atvieglo kopīgus sistēmas administrēšanas uzdevumus (piemēram, restartēšanu pēc kļūmes, apstāšanos, konfigurāciju atkārtotu ielādi bez dīkstāves, vides mainīgo/iestatījumu modificēšanu, veiktspējas metrikas rādīšanu un vēl daudz ko citu). Tas atbalsta arī lietojumprogrammu reģistrēšanu, kopu veidošanu un slodzes līdzsvarošanu, kā arī daudzas citas noderīgas procesu pārvaldības funkcijas.

Pakotņu pārvaldnieks ir noderīgs, jo īpaši Node.js lietojumprogrammu izvietošanai ražošanas vidē. Šajā rakstā mēs pārskatīsim četrus Node.js lietojumprogrammu pārvaldības procesu pārvaldniekus Linux sistēmā.

1. PM2

PM2 ir atvērtā koda, uzlabots, bagātīgs ar funkcijām, starpplatformu un vispopulārākais ražošanas līmeņa procesu pārvaldnieks Node.js ar iebūvētu slodzes līdzsvarotāju. Tas ļauj jums uzskaitīt, uzraudzīt un rīkoties pēc visiem uzsāktajiem Nodejs procesiem, un tas atbalsta klastera režīmu.

Tas atbalsta lietojumprogrammu uzraudzību: piedāvā vienkāršu veidu, kā pārraudzīt lietojumprogrammas resursu (atmiņas un procesora) izmantošanu. Tas atbalsta jūsu procesu pārvaldības darbplūsmu, ļaujot jums konfigurēt un pielāgot katras lietojumprogrammas darbību, izmantojot procesa failu (atbalstītie formāti ietver Javascript, JSON un YAML).

Ražošanas vidē vienmēr ir lietojumprogrammu žurnāli, šajā ziņā PM2 ļauj viegli pārvaldīt lietojumprogrammas žurnālus. Tas nodrošina dažādus žurnālu apstrādes un attēlošanas veidus un formātus. Jūs varat reāllaikā attēlot žurnālus, tos izskalot un vajadzības gadījumā atkārtoti ielādēt.

Svarīgi ir tas, ka PM2 atbalsta startēšanas skriptus, kurus varat konfigurēt, lai automātiski sāktu procesus, gaidot vai negaidot mašīnas restartēšanu. Tas atbalsta arī lietojumprogrammas automātisko restartēšanu, kad fails tiek modificēts pašreizējā direktorijā vai tā apakšdirektorijos.

Turklāt PM2 ir aprīkots ar moduļu sistēmu, kas ļauj lietotājiem izveidot pielāgotus moduļus Nodejs procesu pārvaldībai. Piemēram, jūs varat izveidot moduli apaļkoku rotācijas modulim vai slodzes līdzsvarošanai un daudz ko citu.

Visbeidzot, ja izmantojat Docker konteinerus, PM2 ļauj integrēt konteinerus un piedāvā API sistēmu, kas ļauj to izmantot programmatiski.

StrongLoop PM ir arī atvērtā koda, uzlabots ražošanas procesu pārvaldnieks Node.js lietojumprogrammām ar iebūvētu slodzes līdzsvarošanu tāpat kā PM2, un to var izmantot, izmantojot komandrindu vai grafisko interfeisu.

Tas atbalsta lietojumprogrammu uzraudzību (skatiet veiktspējas rādītājus, piemēram, notikumu cikla laikus, CPU un atmiņas patēriņu), vairāku resursdatoru izvietošanu, klastera režīmu, nulles dīkstāves lietojumprogrammu restartēšanu un jaunināšanu, automātisku procesa restartēšanu pēc kļūmes un žurnālu apkopošanu un pārvaldību.

Turklāt tas tiek piegādāts ar Docker atbalstu, ļauj eksportēt veiktspējas metriku uz ar StatsD saderīgiem serveriem un skatīt trešo pušu konsolēs, piemēram, DataDog, Graphite, Syslog un neapstrādātos žurnālfailos.

3. Uz visiem laikiem

Forever ir atvērta pirmkoda, vienkāršs un konfigurējams komandrindas interfeisa rīks, lai noteiktu skriptu darbinātu nepārtraukti (uz visiem laikiem). Tas ir piemērots mazāku Node.js lietotņu un skriptu izvietošanai. Varat izmantot uz visiem laikiem divos veidos: izmantojot komandrindu vai iegult to savā kodā.

Tas ļauj jums pārvaldīt (sākt, uzskaitīt, apturēt, apturēt visus, restartēt, restartēt visus utt.) Node.js procesus, un tas atbalsta procesa nogalināšanu un izejas signāla pielāgošanu, un vēl daudz vairāk. Turklāt tas atbalsta vairākas lietošanas iespējas, kuras jūs varat pārsūtīt tieši no komandrindas vai paspēt tos JSON failā.

4. SystemD - Pakalpojums un sistēmas pārvaldnieks

Linux sistēmā Systemd ir dēmons, kas pārvalda sistēmas resursus, piemēram, procesus un citus failu sistēmas komponentus. Jebkurš resurss, ko pārvalda systemd, ir pazīstams kā vienība. Ir dažādi vienību veidi, ieskaitot servisa, ierīces, kontaktligzdas, stiprinājuma, mērķa un daudzas citas vienības.

Systemd pārvalda vienības, izmantojot konfigurācijas failu, kas pazīstams kā vienības fails. Tāpēc, lai pārvaldītu savu Node.js serveri tāpat kā citus sistēmas pakalpojumus, jums ir jāizveido vienības fails, kas šajā gadījumā būs servisa fails.

Kad esat izveidojis servera failu savam Node.js serverim, varat to startēt, ļaut tam automātiski startēt sistēmas sāknēšanas laikā, pārbaudīt tā statusu, restartēt (apturēt un sākt to no jauna) vai atkārtoti ielādēt konfigurāciju un pat pārtrauciet to tāpat kā citus sistēmas pakalpojumus.

Lai iegūtu papildinformāciju, skatiet: Kā izveidot un palaist jaunas pakalpojumu vienības sistēmā Systemd, izmantojot Shell skriptu

Node.js pakotņu pārvaldnieks ir noderīgs rīks projekta izvietošanai ražošanas vidē. Tas saglabā lietojumprogrammu mūžīgi dzīvu un vienkāršo, kā jūs to varat kontrolēt. Šajā rakstā mēs pārskatījām četrus Node.js pakotņu pārvaldniekus. Ja jums ir kādi papildinājumi vai jautājumi, lai sazinātos ar mums, izmantojiet tālāk sniegto atsauksmju veidlapu.