Weboldal keresés

4 Process Managers a Node.js alkalmazásokhoz Linuxban


A Node.js folyamatkezelő egy hasznos eszköz annak biztosítására, hogy a Node.js folyamat vagy szkript folyamatosan (örökké) fusson, és lehetővé teszi az automatikus indítást a rendszerindításkor .

Lehetővé teszi a futó szolgáltatások figyelését, és megkönnyíti a gyakori rendszeradminisztrációs feladatokat (például újraindítást hiba esetén, leállást, konfigurációk újratöltését leállás nélkül, környezeti változók/beállítások módosítását, teljesítménymutatók megjelenítését és még sok minden mást). Támogatja az alkalmazásnaplózást, a fürtözést és a terheléselosztást is, valamint sok más hasznos folyamatkezelési funkciót.

Olvassa el még: 14 legjobb NodeJS-keret fejlesztőknek 2019-ben

A csomagkezelő különösen hasznos a Node.js alkalmazások éles környezetben történő üzembe helyezéséhez. Ebben a cikkben négy folyamatkezelőt tekintünk át a Node.js alkalmazáskezeléshez Linux rendszerben.

1. PM2

A PM2 egy nyílt forráskódú, fejlett, funkciókban gazdag, többplatformos és a legnépszerűbb éles szintű folyamatkezelő a Node.js számára, beépített terheléselosztóval. Lehetővé teszi az összes elindított Nodejs folyamat listázását, figyelését és műveleteit, valamint támogatja a fürt módot.

Támogatja az alkalmazásfigyelést: egyszerű módot kínál az alkalmazás erőforrás-használatának (memória és CPU) figyelésére. Támogatja a folyamatkezelési munkafolyamatot azáltal, hogy lehetővé teszi az egyes alkalmazások viselkedésének konfigurálását és hangolását egy folyamatfájlon keresztül (a támogatott formátumok közé tartozik a Javascript, JSON és a YAML<).

Az alkalmazásnaplók mindig kulcsfontosságúak az éles környezetben, ebből a szempontból a PM2 lehetővé teszi az alkalmazásnaplók egyszerű kezelését. Különféle módokat és formátumokat biztosít a naplók kezelésére és megjelenítésére. A naplókat valós időben jelenítheti meg, kiürítheti, és szükség esetén újratöltheti.

Fontos, hogy a PM2 támogatja az indítási szkripteket, amelyeket úgy konfigurálhat, hogy automatikusan elindítsák a folyamatokat a gép várt vagy váratlan újraindításakor. Támogatja az alkalmazások automatikus újraindítását is, ha egy fájlt módosítanak az aktuális könyvtárban vagy annak alkönyvtáraiban.

Ezenkívül a PM2 modulrendszerrel érkezik, amely lehetővé teszi a felhasználók számára, hogy egyéni modulokat hozzanak létre a Nodejs folyamatkezeléshez. Például létrehozhat egy modult a naplóforgató modulhoz vagy a terheléselosztáshoz, és még sok máshoz.

Végül, de nem utolsósorban, ha Docker-tárolókat használ, a PM2 lehetővé teszi a konténer-integrációt, és olyan API-rendszert kínál, amely lehetővé teszi a programozott használatát.

2. StrongLoop PM

A StrongLoop PM egy nyílt forráskódú, fejlett gyártási folyamatkezelő a Node.js alkalmazásokhoz, beépített terheléselosztással, mint a PM2, és egy parancson keresztül használható vonalat vagy grafikus felületet.

Támogatja az alkalmazásfigyelést (teljesítménymérők megtekintése, mint például az eseményhurok idői, a CPU- és memóriafogyasztás), a több gazdagépes üzembe helyezést, a fürt módot, az alkalmazásleállás nélküli újraindításokat és frissítéseket, az automatikus folyamat-újraindítást meghibásodás esetén, valamint a naplózás összesítését és kezelését.

Ezenkívül Docker-támogatással szállítjuk, lehetővé teszi a teljesítménymutatók exportálását StatsD-kompatibilis szerverekre, valamint a megtekintést külső felek konzoljain, például DataDog, Graphite<., Splunk, valamint Syslog és nyers naplófájlok.

3. Örökké

A Forever egy nyílt forráskódú, egyszerű és konfigurálható parancssori felület eszköz egy adott szkript folyamatos (örökké) futtatásához. Alkalmas Node.js alkalmazások és szkriptek kisebb telepítéseinek futtatására. A örökké kétféleképpen használható: a parancssorban vagy a kódba ágyazva.

Lehetővé teszi a Node.js folyamatok kezelését (indítása, listázása, leállítása, leállítása, újraindítása, újraindítása stb.), és támogatja a fájlváltozások figyelését, a hibakeresési módot, az alkalmazásnaplókat, a leállítást a folyamat és a kilépési jel testreszabása, és még sok más. Ezenkívül számos használati lehetőséget támogat, amelyeket közvetlenül a parancssorból vagy JSON-fájlban adhat át.

4. SystemD – Szolgáltatás és rendszermenedzser

Linuxban a Systemd egy démon, amely a rendszererőforrásokat, például a folyamatokat és a fájlrendszer egyéb összetevőit kezeli. A systemd által kezelt minden erőforrást egységnek nevezünk. Különféle típusú egységek léteznek, beleértve a szolgáltatást, az eszközt, az aljzatot, a rögzítést, a célpontot és sok más egységet.

A Systemd egy egység fájlként ismert konfigurációs fájlon keresztül kezeli az egységeket. Ezért annak érdekében, hogy a Node.js szerverét más rendszerszolgáltatásokhoz hasonlóan kezelhesse, létre kell hoznia egy egységfájlt, amely ebben az esetben egy szolgáltatásfájl lesz.

Miután létrehozott egy szolgáltatásfájlt a Node.js szerverhez, elindíthatja, engedélyezheti az automatikus indítást a rendszerindításkor, ellenőrizheti az állapotát, újraindíthatja (leállíthatja és újraindíthatja). vagy újratölti a konfigurációját, és akár le is állíthatja, mint bármely más rendszerszolgáltatást.

További információkért lásd: Új szolgáltatási egységek létrehozása és futtatása a Systemd-ben Shell Script használatával

Összegzés

A Node.js csomagkezelő hasznos eszköz a projekt éles környezetben való üzembe helyezéséhez. Örökké életben tart egy alkalmazást, és leegyszerűsíti az irányítást. Ebben a cikkben a Node.js négy csomagkezelőjét tekintjük át. Ha bármilyen kiegészítése vagy kérdése van, lépjen kapcsolatba velünk az alábbi visszajelzési űrlap segítségével.