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.


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

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

A Node.js telepítése forrásból az Ubuntu 14.04 rendszeren

A Node.js telepítése forrásból az Ubuntu 14.04 rendszeren

Építőeszközök telepítése Számos eszközre lesz szükség. Futtassa a következő parancsot: apt-get install make g++ libssl-dev git Node.js forrás letöltése It i

Az osTicket telepítése a CentOS 7 rendszeren

Az osTicket telepítése a CentOS 7 rendszeren

Más rendszert használ? Az osTicket egy nyílt forráskódú ügyfélszolgálati jegyértékesítő rendszer. Az osTicket forráskódja nyilvánosan a Githubon található. Ebben az oktatóanyagban

A Bro IDS telepítése Ubuntu 16.04-re

A Bro IDS telepítése Ubuntu 16.04-re

Más rendszert használ? Bevezetés A Bro egy hatékony nyílt forráskódú hálózatelemző keretrendszer. A Bros elsődleges célja a hálózati biztonság figyelése. Br

Setup a Minecraft PE Server on CentOS 6

Setup a Minecraft PE Server on CentOS 6

This article will teach you how to setup a Minecraft Pocket Edition server on CentOS 6. Setting up a Minecraft PE server is quite simple. First, install th

A GruntJS telepítése Debian 9 rendszeren

A GruntJS telepítése Debian 9 rendszeren

A GruntJS egy JavaScript-feladat futtató, amely a NodeJS tetejére íródott. Használható az alkalmazás ismétlődő feladatainak automatizálására, mint például a kicsinyítés, a fordítás

A ZNC telepítése és konfigurálása CentOS 7 rendszeren

A ZNC telepítése és konfigurálása CentOS 7 rendszeren

A ZNC egy ingyenes és nyílt forráskódú IRC kidobó, amely állandóan csatlakozik a hálózathoz, így az ügyfelek offline állapotban is fogadhatják az elküldött üzeneteket. Thi

A PM2 beállítása Ubuntu 16.04-en

A PM2 beállítása Ubuntu 16.04-en

A PM2 egy nagyon népszerű Node folyamatkezelő, amely megkönnyíti a NodeJS alkalmazások futtatását. A PM2 megkönnyíti az alkalmazások újraindítását, az összeomlás automatikus újraindítását

Installing HAProxy 1.7 on Debian 9.1 (Stretch)

Installing HAProxy 1.7 on Debian 9.1 (Stretch)

Using a Different System? HAProxy is a network software application that offers high availability, load balancing, and proxying for TCP and HTTP networ

A Strapi telepítése Ubuntu 16.04-re

A Strapi telepítése Ubuntu 16.04-re

Bevezetés A Strapi egy nyílt forráskódú NodeJS Content Management Framework, amely biztonságos és méretezhető, gyártásra kész API-alkalmazások létrehozására szolgál.

How to Install Unturned 2.2.5 on Ubuntu 16.04

How to Install Unturned 2.2.5 on Ubuntu 16.04

Using a Different System? Introduction In this guide, you will learn how to set up an Unturned 2.2.5 server on a Vultr VPS running Ubuntu 16.04. Note: Thi

A Ruby on Rails telepítése Ubuntu 14.04-re

A Ruby on Rails telepítése Ubuntu 14.04-re

A Ruby on Rails (RoR) egy Ruby programozási nyelven írt keretrendszer, amely lehetővé teszi a Ruby használatát HTML, CSS és hasonló programokkal kombinálva.

A Node.js és az Express telepítése Ubuntun

A Node.js és az Express telepítése Ubuntun

A Chrome V8 Engine által hajtott Node.js egy népszerű nyelv, amelyet gyorsan méretezhető alkalmazások készítésére használnak. Számos projektet támogatott már, többek között

Setup Mumble Server on Arch Linux

Setup Mumble Server on Arch Linux

This tutorial explains how to setup a Mumble server (Murmur) on Arch Linux. Everything done in this tutorial is done as the root user. Installation an

Setup a Counter-Strike: Global Offensive (CSGO) Server on Arch Linux

Setup a Counter-Strike: Global Offensive (CSGO) Server on Arch Linux

This tutorial explains how to setup a Counter-Strike: Global Offensive server on Arch Linux. This tutorial assumes that you logged in with a standard use

Az osTicket telepítése a Fedora 30 rendszeren

Az osTicket telepítése a Fedora 30 rendszeren

Más rendszert használ? Az osTicket egy nyílt forráskódú ügyfélszolgálati jegyértékesítő rendszer. Az osTicket forráskódja nyilvánosan a Githubon található. Ebben az oktatóanyagban

Egyszerű IPTables konfiguráció és példák az Ubuntu 16.04-en

Egyszerű IPTables konfiguráció és példák az Ubuntu 16.04-en

Bevezetés Az iptables egy hatékony eszköz a Linux kernelek integrált tűzfalának konfigurálására. A legtöbb Ubuntu disztribúcióra azonban előre telepítve van

Securely Deploy and Manage LXC Containers on Ubuntu 14.04

Securely Deploy and Manage LXC Containers on Ubuntu 14.04

LXC containers (Linux containers) are an operating system feature in Linux that can be used to run multiple isolated Linux systems on a single host. Thes

Az osTicket telepítése Debian 10 rendszeren

Az osTicket telepítése Debian 10 rendszeren

Más rendszert használ? Az osTicket egy nyílt forráskódú ügyfélszolgálati jegyértékesítő rendszer. Az osTicket forráskódja nyilvánosan a Githubon található. Ebben az oktatóanyagban

Az osTicket telepítése az Ubuntu 18.04 LTS rendszeren

Az osTicket telepítése az Ubuntu 18.04 LTS rendszeren

Más rendszert használ? Az osTicket egy nyílt forráskódú ügyfélszolgálati jegyértékesítő rendszer. Az osTicket forráskódja nyilvánosan a Githubon található. Ebben az oktatóanyagban

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.

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.

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 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é.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket