Si të konfiguroni aplikacionet e vazhdueshme Node.js në Ubuntu 16.04

Aplikacionet Node.js janë të njohura për aftësinë e tyre për të shkallëzuar. Drejtimi i proceseve të shumëfishta të njëkohshme në serverë të shumtë jep vonesë më të ulët dhe kohë më të madhe të funksionimit. Kur menaxhoni serverë të shumtë, është më e lehtë të rinisni automatikisht aplikacionet Node.js nëse prishen. Ky tutorial do t'ju tregojë se si të konfiguroni shpejt qëndrueshmërinë e aplikacionit nga një shembull i zbrazët i Ubuntu 16.04.

Parakushtet

  • Krijoni një shembull Vultr të çdo madhësie me Ubuntu 16.04 LTS x64.
  • Nëse nuk jeni përdoruesi rrënjë, ekzekutoni sudo -sdhe shkruani fjalëkalimin tuaj. Kërkohet qasja në rrënjë për të modifikuar skedarin e nisjes në mënyrë që menaxheri i procesit të fillojë në nisje.
  • Sigurohuni që Node.js të jetë i instaluar në shembull dhe që versioni i Node.js të jetë 8.9.3 LTS ose më i ri, i cili kërkohet që menaxheri i qëndrueshmërisë të funksionojë pa probleme. Përdorni node -vpër të kontrolluar versionin e instaluar. Nëse Node.js nuk është në versionin e duhur, komandat e mëposhtme do ta instalojnë atë.

Instaloni Node.js.

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

Krijo ndarje shkëmbimi

Ky hap është opsional, por rekomandohet për instalim. Ndarjet e shkëmbimit janë pjesë të diskut të ngurtë të cilat janë të dedikuara për të ndihmuar në plotësimin e RAM-it. Në rastet më të vogla të Vultr, si shembulli i RAM-it 512 MB, krijimi i një ndarjeje shkëmbimi do të ishte i dobishëm për performancën. Për një version të automatizuar të tutorialit të shkëmbimit, përdorni komandat më poshtë.

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

Në përgjithësi, përdorimi i shkëmbimit nuk do të ishte i nevojshëm për raste me 4 GB RAM ose më shumë kur konfiguroni aplikacione të vazhdueshme, megjithëse mund të përmirësojë performancën e aplikacioneve. RAM-i është më i përgjegjshëm sesa shkëmbimi, kështu që rastet me më shumë RAM do të priren të japin rezultate më të mira pavarësisht nga shkëmbimi.

Instaloni fije

Yarn është një menaxher paketash i lehtë për t'u përdorur nga Facebook për paketat Node.js. Është më i shpejtë se NPM dhe gjithashtu përcaktues, gjë që është veçanërisht e dobishme kur vendosni shumë serverë.

$ 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

Sidoqoftë, NPM mund të përdoret në vend të Yarn dhe ka komanda të krahasueshme me të gjitha ato në këtë tutorial.

Instaloni aplikacionin tuaj Node.js

Nëse aplikacioni juaj është i pritur në një depo git, klononi atë dhe përdorni yarn install. Aplikacioni juaj duhet të ketë një skedar hyrjeje në server, zakonisht server.jsose index.js, i cili do të përdoret në hapat e ardhshëm.

Instaloni Process Manager 2

Process Manager 2 është paketa që do të rifillojë automatikisht aplikacionin. Process Manager 2 është shumë popullor dhe përdoret nga Microsoft, PayPal dhe Intuit, kështu që është i sigurt dhe i besueshëm.

$ yarn global add pm2

Shtoni aplikacionin tuaj si proces

Aplikacioni do të demonizohet (të ekzekutohet në sfond) dhe do të riniset automatikisht me komandën start.

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

Nëse dëshironi të nisni automatikisht numrin maksimal të proceseve, kaloni -i maxargumentin. Nëse përdorimi i vetëm i këtij shembulli Vultr është për të shërbyer aplikacionin, atëherë kjo rekomandohet. Për rastet e Vultr me më shumë se një CPU, do të lansohen procese të shumta dhe Process Manager 2 do të veprojë si balancues i ngarkesës për të gjitha këto procese individuale.

Filloni automatikisht aplikacionin tuaj në nisje

Pas nisjes së aplikacionit, ruani konfigurimin e aplikacionit. Më pas, ekzekutoni komandën e nisjes për të ekzekutuar automatikisht Process Manager 2 në sfond kur Ubuntu të niset. Për Ubuntu 16.04, Process Manager 2 do të lidhet me systemd.

$ pm2 save
$ pm2 startup

Tani nëse aplikacioni juaj Node.js rrëzohet për shkak të një gabimi, ai do të riniset dhe nëse Ubuntu rrëzohet për ndonjë arsye, procesi do të rifillojë automatikisht me Ubuntu. Proceset mund të rifillohen me pm2 gracefulReload alldhe Process Manager 2 mund të rifillohet me pm2 update. Për të ndaluar fillimin e Process Manager 2 në nisje, ekzekutoni pm2 unstartup.

Duke testuar

Provoni të shkruani rebootdhe të kontrolloni për të parë nëse aplikacioni juaj shërbehet pas nisjes së Ubuntu. Nëse aplikacioni është për ueb dhe shërbehet përmes portit 80, atëherë curl http://localhost/do të shfaqet HTML për faqen fillestare. Në rast se nuk funksionon, komanda pm2 statusdo të tregojë proceset e ekzekutimit dhe komanda start mund të ribotohet.

Vendosja e versioneve të reja të aplikacionit

Nëse aplikacioni përditësohet, si për shembull duke tërhequr një depo git, atëherë duhet të lëshohet një komandë për të përditësuar proceset e aplikimit që ekzekutohen.

$ pm2 update

Shembull i përdorimit

Parse Server , një platformë popullore me burim të hapur si shërbim, shërben si një mbështetje për një aplikacion. Backend-i mund të dështojë për shkak të gabimeve në kod ose në vëllimin e kërkesave, por aplikacioni nuk do të ketë ndërprerje sepse serverët e tjerë (dhe/ose proceset) vazhdojnë të funksionojnë dhe procesi i Parse Server riniset shpejt.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë