4 Node.js programų procesų tvarkyklės Linux sistemoje


Node.js procesų tvarkyklė yra naudingas įrankis, užtikrinantis, kad Node.js procesas arba scenarijus būtų vykdomas nuolat (amžinai) ir įgalinti jį automatiškai paleisti paleidžiant sistemą .

Tai leidžia stebėti veikiančias paslaugas ir palengvinti įprastas sistemos administravimo užduotis (pvz., paleisti iš naujo gedimo atveju, sustabdyti, perkrauti konfigūraciją be prastovos, keisti aplinkos kintamuosius/nustatymus, rodyti našumo metriką ir dar daugiau). Jis taip pat palaiko programų registravimą, grupavimą ir apkrovos balansavimą bei daugybę kitų naudingų procesų valdymo funkcijų.

Taip pat skaitykite: 14 geriausių „NodeJS“ sistemų kūrėjams 2019 m.

Paketų tvarkyklė ypač naudinga diegiant Node.js programas gamybinėje aplinkoje. Šiame straipsnyje apžvelgsime keturias procesų tvarkykles, skirtas Node.js programų valdymui Linux sistemoje.

1. PM2

PM2 yra atvirojo kodo, pažangi, daug funkcijų, kelių platformų ir populiariausia gamybinio lygio procesų tvarkyklė, skirta Node.js su įtaisytuoju apkrovos balansavimo įrenginiu. Tai leidžia sudaryti visų paleistų Nodejs procesų sąrašą, stebėti ir veikti su jais bei palaiko klasterio režimą.

Jis palaiko programų stebėjimą: siūlo paprastą būdą stebėti jūsų programos išteklių (atminties ir procesoriaus) naudojimą. Jis palaiko jūsų procesų valdymo darbo eigą, leisdamas konfigūruoti ir koreguoti kiekvienos programos veikimą naudojant proceso failą (palaikomi formatai apima Javascript, JSON ir YAML<.).

Programų žurnalai visada yra svarbūs gamybos aplinkoje, todėl PM2 leidžia lengvai tvarkyti programos žurnalus. Jame pateikiami įvairūs žurnalų tvarkymo ir rodymo būdai ir formatai. Galite rodyti žurnalus realiuoju laiku, išvalyti juos ir prireikus įkelti iš naujo.

Svarbu tai, kad PM2 palaiko paleisties scenarijus, kuriuos galite sukonfigūruoti taip, kad automatiškai paleistumėte procesus, kai tikėtinas arba netikėtas įrenginys paleidžiamas iš naujo. Ji taip pat palaiko automatinį programos paleidimą iš naujo, kai failas pakeičiamas esamame kataloge arba jo pakatalogiuose.

Be to, PM2 yra su modulių sistema, leidžiančia vartotojams kurti pasirinktinius modulius, skirtus Nodejs procesų valdymui. Pavyzdžiui, galite sukurti modulį žurnalo sukimosi moduliui arba apkrovos balansavimui ir dar daugiau.

Paskutinis, bet ne mažiau svarbus dalykas – jei naudojate „Docker“ konteinerius, PM2 leidžia integruoti konteinerius ir siūlo API sistemą, leidžiančią ją naudoti programiškai.

2. StrongLoop PM

StrongLoop PM taip pat yra atvirojo kodo, pažangus gamybos proceso tvarkyklė, skirta Node.js programoms su integruotu apkrovos balansavimu, kaip ir PM2, ir ją galima naudoti naudojant komandą linija arba grafinė sąsaja.

Jis palaiko programų stebėjimą (peržiūrėkite našumo metriką, pvz., įvykių ciklo laiką, procesoriaus ir atminties suvartojimą), kelių pagrindinių kompiuterių diegimą, klasterio režimą, programos paleidimą iš naujo ir atnaujinimus be prastovos, automatinį proceso paleidimą iš naujo gedimo atveju ir žurnalų kaupimą bei valdymą.

Be to, jis pristatomas su Docker palaikymu, leidžia eksportuoti našumo metriką į su StatsD suderinamus serverius ir peržiūrėti trečiųjų šalių pultuose, pvz., DataDog, Graphite<., Splunk, taip pat Syslog ir neapdorotus žurnalo failus.

3. Amžinai

Forever yra atvirojo kodo, paprastas ir konfigūruojamas komandų eilutės sąsajos įrankis, leidžiantis nuolat (amžinai) paleisti nurodytą scenarijų. Jis tinka mažesniems Node.js programų ir scenarijų diegimams. Galite naudoti amžinai dviem būdais: naudodami komandų eilutę arba įterpdami ją į savo kodą.

Tai leidžia valdyti (paleisti, įtraukti į sąrašą, sustabdyti, sustabdyti viską, paleisti iš naujo, paleisti viską iš naujo ir kt.) Node.js procesus ir palaiko failų pakeitimų stebėjimą, derinimo režimą, programų žurnalus, žudymą proceso ir išėjimo signalo tinkinimo ir dar daugiau. Be to, ji palaiko keletą naudojimo parinkčių, kurias galite perduoti tiesiai iš komandinės eilutės arba perduoti jas JSON faile.

4. SystemD – paslaugų ir sistemos vadybininkas

„Linux“ sistemoje „Systemd“ yra demonas, valdantis sistemos išteklius, tokius kaip procesai ir kiti failų sistemos komponentai. Bet koks išteklius, valdomas systemd, vadinamas vienetu. Yra įvairių tipų vienetų, įskaitant paslaugų, įrenginį, lizdą, laikiklį, taikinį ir daugelį kitų įrenginių.

Systemd valdo vienetus naudodama konfigūracijos failą, žinomą kaip vieneto failas. Todėl norėdami valdyti Node.js serverį kaip ir bet kurią kitą sistemos paslaugą, turite sukurti jam rinkinio failą, kuris šiuo atveju bus paslaugos failas.

Sukūrę savo Node.js serverio paslaugos failą, galite jį paleisti, įgalinti automatinį paleidimą sistemos įkrovos metu, patikrinti jo būseną, paleisti iš naujo (sustabdyti ir vėl paleisti) arba iš naujo įkelti jos konfigūraciją ir netgi sustabdyti, kaip ir bet kurią kitą sisteminę paslaugą.

Norėdami gauti daugiau informacijos, žr.: Kaip sukurti ir paleisti naujus paslaugų vienetus sistemoje „Systemd naudojant Shell Script“.

Santrauka

Paketo tvarkyklė Node.js yra naudingas įrankis diegti projektą gamybinėje aplinkoje. Tai išlaiko programą amžinai ir supaprastina tai, kaip galite ją valdyti. Šiame straipsnyje apžvelgėme keturias Node.js paketų tvarkykles. Jei turite kokių nors papildymų ar klausimų, susisiekite su mumis naudodami toliau pateiktą atsiliepimų formą.