A Node.js állandó alkalmazások beállítása az Ubuntu 16.04 rendszeren

A Node.js alkalmazások méretezhetőségük miatt népszerűek. Több egyidejű folyamat több kiszolgálón történő futtatása alacsonyabb késleltetést és hosszabb üzemidőt eredményez. Több kiszolgáló kezelésekor a legegyszerűbb, ha a Node.js alkalmazásokat összeomlás esetén automatikusan újraindul. Ez az oktatóanyag bemutatja, hogyan állíthatja be gyorsan az alkalmazás megmaradását egy üres Ubuntu 16.04 példányból.

Előfeltételek

  • Hozzon létre bármilyen méretű Vultr-példányt az Ubuntu 16.04 LTS x64 segítségével.
  • Ha nem root felhasználó, futtassa, sudo -sés írja be jelszavát. Root hozzáférés szükséges az indítófájl módosításához, hogy a folyamatkezelő elinduljon rendszerindításkor.
  • Győződjön meg arról, hogy a Node.js telepítve van a példányon, és hogy a Node.js verziója 8.9.3 LTS vagy újabb, ami szükséges a perzisztenciakezelő zökkenőmentes működéséhez. Használja node -va telepített verzió ellenőrzésére. Ha a Node.js verziója nem a megfelelő, akkor a következő parancsok telepítik azt.

Telepítse a Node.js-t.

$ sudo apt-get update
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs

Swap partíció létrehozása

Ez a lépés nem kötelező, de ajánlott a telepítéshez. A cserepartíciók a merevlemez azon részei, amelyek célja a RAM kiegészítése. Kisebb Vultr-példányokon, például az 512 MB-os RAM-példányon, a swap partíció létrehozása előnyös lenne a teljesítmény szempontjából. A swap oktatóanyag automatizált verziójához használja az alábbi parancsokat.

$ git clone https://github.com/teamtofu/server-tools.git tools
$ bash ./tools/swap.sh

Általánosságban elmondható, hogy a swap használata nem szükséges 4 GB vagy annál nagyobb RAM-mal rendelkező példányok esetén, amikor állandó alkalmazásokat állít be, bár javíthatja az alkalmazások teljesítményét. A RAM jobban reagál, mint a swap, így a több RAM-mal rendelkező példányok általában jobb eredményeket hoznak, függetlenül a cserétől.

Telepítse a fonalat

A Yarn egy könnyen használható csomagkezelő a Facebookról a Node.js csomagokhoz. Gyorsabb, mint az NPM, és determinisztikus is, ami különösen hasznos több kiszolgáló telepítésekor.

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn

Az NPM azonban használható a Yarn helyett, és az ebben az oktatóanyagban szereplő összes parancshoz hasonló parancsokat tartalmaz.

Telepítse a Node.js alkalmazást

Ha az alkalmazás egy git tárolóban van tárolva, klónozza azt, és használja a yarn install. Az alkalmazásnak rendelkeznie kell egy szerverbeviteli fájllal, általában server.jsvagy index.js, amelyet a következő lépésekben használunk.

Telepítse a Process Manager 2-t

A Process Manager 2 az a csomag, amely automatikusan újraindítja az alkalmazást. A Process Manager 2 nagyon népszerű, és a Microsoft, a PayPal és az Intuit használja, így biztonságos és megbízható.

$ yarn global add pm2

Adja hozzá az alkalmazását folyamatként

Az alkalmazás démonizálódik (a háttérben fut), és automatikusan újraindul a start paranccsal.

$ pm2 start [path to your entry.js] -i max

Ha a maximális számú folyamatot szeretné automatikusan elindítani, adja át az -i maxargumentumot. Ha ezt a Vultr-példányt kizárólag az alkalmazás kiszolgálására használják, akkor ez ajánlott. Az egynél több CPU-val rendelkező Vultr-példányok esetén több folyamat indul el, és a Process Manager 2 terheléselosztóként működik ezen egyedi folyamatok mindegyikénél.

Az alkalmazás automatikus indítása rendszerindításkor

Az alkalmazás elindítása után mentse el az alkalmazás konfigurációját. Ezután futtassa az indítási parancsot, hogy a Process Manager 2 automatikusan futtassa a háttérben, amikor az Ubuntu elindul. Ubuntu 16.04 esetén a Process Manager 2 a következőhöz kötődik systemd.

$ pm2 save
$ pm2 startup

Most, ha a Node.js alkalmazás összeomlik egy hiba miatt, újraindul, és ha az Ubuntu bármilyen okból összeomlik, a folyamat automatikusan újraindul az Ubuntuval. A folyamatok újraindíthatók a -val pm2 gracefulReload all, a Process Manager 2 pedig a -val pm2 update. Ha meg szeretné akadályozni, hogy a Process Manager 2 elinduljon rendszerindításkor, futtassa a parancsot pm2 unstartup.

Tesztelés

Próbálja meg beírni, rebootés ellenőrizze, hogy az alkalmazás kiszolgálásra kerül-e az Ubuntu elindulása után. Ha az alkalmazás az internetre készült, és a porton keresztül szolgál ki 80, akkor curl http://localhost/a kezdőoldal HTML-kódja jelenik meg. Abban az esetben, ha nem működik, a parancs pm2 statusmegjeleníti a futó folyamatokat, és a start parancs újra kiadható.

Az alkalmazás új verzióinak telepítése

Ha az alkalmazást frissítik, például egy git-tárház lehívásával, akkor parancsot kell kiadni a futó alkalmazásfolyamatok frissítéséhez.

$ pm2 update

Használati példa

A Parse Server , egy népszerű nyílt forráskódú platform szolgáltatásként, egy alkalmazás háttérprogramjaként szolgál. A háttérrendszer összeomolhat a kódban vagy a kérelmek mennyiségében előforduló hibák miatt, de az alkalmazás nem fog leállást tapasztalni, mert a többi kiszolgáló (és/vagy folyamatok) továbbra is fut, és az elemzési kiszolgáló folyamata gyorsan újraindul.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.