4 prosessinhallintaohjelmaa Node.js-sovelluksille Linuxissa


Node.js-prosessinhallinta on hyödyllinen työkalu sen varmistamiseksi, että Node.js-prosessi tai komentosarja toimii jatkuvasti (ikuisesti) ja voi käynnistää sen automaattisesti järjestelmän käynnistyksen yhteydessä.

Sen avulla voit seurata käynnissä olevia palveluita ja se helpottaa yleisiä järjestelmänhallintatehtäviä (kuten uudelleenkäynnistys vikatilanteessa, pysäyttäminen, kokoonpanojen lataaminen uudelleen ilman seisokkeja, ympäristömuuttujien/asetusten muokkaaminen, suorituskykymittarien näyttäminen ja paljon muuta). Se tukee myös sovellusten kirjaamista, klustereita ja kuormituksen tasapainottamista sekä monia muita hyödyllisiä prosessinhallintaominaisuuksia.

Paketinhallinta on hyödyllinen erityisesti Node.js-sovellusten käyttöönottoon tuotantoympäristössä. Tässä artikkelissa tarkastelemme Node.js-sovellusten hallinnan neljää prosessinhallintaohjelmaa Linux-järjestelmässä.

1. PM2

PM2 on avoimen lähdekoodin, edistyksellinen, monipuolinen, monitasoinen ja suosituin tuotantotason prosessinhallintaohjelma Node.js: lle, jossa on sisäänrakennettu kuormituksen tasapainotin. Sen avulla voit luetella, seurata ja toimia kaikissa käynnistetyissä Nodejs-prosesseissa, ja se tukee klusterimoodia.

Se tukee sovellusten valvontaa: tarjoaa yksinkertaisen tavan seurata sovelluksesi resurssien (muistin ja suorittimen) käyttöä. Se tukee prosessinhallinnan työnkulkua antamalla sinun määrittää ja virittää kunkin sovelluksen käyttäytyminen prosessitiedoston kautta (tuetut muodot ovat Javascript, JSON ja YAML).

Sovelluslokit ovat aina avain tuotantoympäristössä, tässä suhteessa PM2 antaa sinun hallita sovelluksesi lokeja helposti. Se tarjoaa erilaisia tapoja ja muotoja lokien käsittelyä ja vastaavaa näyttämistä varten. Voit näyttää lokit reaaliajassa, huuhdella ne ja ladata ne tarvittaessa.

Tärkeää on, että PM2 tukee käynnistysskriptejä, jotka voidaan määrittää käynnistämään prosessit automaattisesti odotettujen tai odottamattomien koneiden uudelleenkäynnistysten aikana. Se tukee myös sovelluksen automaattista uudelleenkäynnistystä, kun tiedostoa muokataan nykyisessä hakemistossa tai sen alihakemistoissa.

Lisäksi PM2 sisältää moduulijärjestelmän, jonka avulla käyttäjät voivat luoda mukautettuja moduuleja Nodejs-prosessinhallintaa varten. Voit esimerkiksi luoda moduulin tukin kiertomoduulille tai kuormituksen tasapainottamiselle ja paljon muuta.

Viimeisenä mutta ei vähäisimpänä, jos käytät Docker-kontteja, PM2 mahdollistaa konttien integroinnin ja tarjoaa API-järjestelmän, jonka avulla voit käyttää sitä ohjelmallisesti.

StrongLoop PM on myös avoimen lähdekoodin, edistynyt tuotantoprosessin hallinta Node.js-sovelluksille, joissa on sisäänrakennettu kuormituksen tasapainotus aivan kuten PM2, ja sitä voidaan käyttää komentorivin tai graafisen käyttöliittymän kautta.

Se tukee sovellusten valvontaa (tarkastele suorituskykymittareita, kuten tapahtumasilmukka-aikoja, suorittimen ja muistin kulutusta), usean isännän käyttöönottoa, klusterimoodia, nolla-seisokkien sovellusten uudelleenkäynnistyksiä ja päivityksiä, automaattista prosessin uudelleenkäynnistystä epäonnistumisen yhteydessä sekä lokien yhdistämistä ja hallintaa.

Lisäksi sen mukana toimitetaan Docker-tuki, sen avulla voit viedä suorituskykymittareita StatsD-yhteensopiville palvelimille ja tarkastella kolmansien osapuolten konsoleissa, kuten DataDog, Graphite, Syslog ja raaka lokitiedostot.

3. Ikuisesti

Forever on avoimen lähdekoodin yksinkertainen ja konfiguroitava komentoriviliittymän työkalu tietyn komentosarjan suorittamiseen jatkuvasti (ikuisesti). Se soveltuu pienempien Node.js-sovellusten ja komentosarjojen käyttöönottoon. Voit käyttää ikuisesti kahdella tavalla: komentorivin kautta tai upottamalla sen koodiin.

Sen avulla voit hallita (aloittaa, luetteloida, lopettaa, lopettaa kaikki, käynnistää uudelleen, käynnistää kaikki uudelleen jne.) Node.js-prosessit ja se tukee prosessin tappamista ja poistumissignaalin mukauttamista ja paljon muuta. Lisäksi se tukee useita käyttöasetuksia, jotka voit välittää suoraan komentoriviltä tai käyttää niitä JSON-tiedostossa.

4. SystemD - palvelu ja järjestelmänhallinta

Linuxissa Systemd on daemon, joka hallitsee järjestelmäresursseja, kuten prosesseja ja muita tiedostojärjestelmän komponentteja. Kaikki systemd: n hallinnoimat resurssit tunnetaan yksikkönä. Yksiköitä on erityyppisiä, mukaan lukien palvelu, laite, pistorasia, kiinnike, kohde ja monet muut yksiköt.

Systemd hallinnoi yksiköitä määritystiedoston kautta, joka tunnetaan yksikkötiedostona. Siksi, jotta voit hallita Node.js-palvelinta kuten kaikkia muita järjestelmäpalveluita, sinun on luotava sille yksikkötiedosto, joka tässä tapauksessa on palvelutiedosto.

Kun olet luonut huoltotiedoston Node.js-palvelimelle, voit käynnistää sen, sallia sen käynnistyvän automaattisesti järjestelmän käynnistyshetkellä, tarkistaa sen tilan, käynnistää uudelleen (pysäyttää ja käynnistää uudelleen) tai ladata kokoonpanonsa uudelleen ja lopettaa se kuten muutkin systemd-palvelut.

Lisätietoja on ohjeaiheessa: Uusien palveluyksiköiden luominen ja suorittaminen Systemd: ssä Shell-komentosarjan avulla

Node.js-paketinhallinta on hyödyllinen työkalu projektin käyttöönottoon tuotantoympäristössä. Se pitää sovelluksen elossa ikuisesti ja yksinkertaistaa hallintaa. Tässä artikkelissa tarkistimme neljä Node.js-paketinhallintaohjelmaa. Jos sinulla on kysyttävää, ota yhteyttä alla olevaan palautelomakkeeseen.