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.