Pysyvien Node.js-sovellusten määrittäminen Ubuntu 16.04:ssä

Node.js-sovellukset ovat suosittuja skaalautumiskykynsä vuoksi. Useiden samanaikaisten prosessien suorittaminen useilla palvelimilla tuottaa pienemmän viiveen ja pidemmän käytettävyyden. Useita palvelimia hallittaessa on helpointa saada Node.js-sovellukset käynnistymään automaattisesti uudelleen, jos ne kaatuvat. Tämä opetusohjelma näyttää, kuinka voit nopeasti määrittää sovelluksen pysyvyyden tyhjästä Ubuntu 16.04 -esiintymästä.

Edellytykset

  • Luo minkä tahansa kokoinen Vultr-esiintymä Ubuntu 16.04 LTS x64:llä.
  • Jos et ole pääkäyttäjä, suorita sudo -sja kirjoita salasanasi. Pääkäyttäjän käyttöoikeus tarvitaan käynnistystiedoston muokkaamiseen niin, että prosessinhallinta käynnistyy käynnistyksen yhteydessä.
  • Varmista, että Node.js on asennettu ilmentymään ja että Node.js:n versio on 8.9.3 LTS tai uudempi, mikä tarvitaan pysyvyyden hallinnan sujuvaan toimintaan. Käytä node -vtarkistaaksesi asennetun version. Jos Node.js:n versio ei ole oikea, seuraavat komennot asentavat sen.

Asenna Node.js.

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

Luo sivutusosio

Tämä vaihe on valinnainen, mutta suositeltavaa asennuksessa. Swap-osiot ovat kiintolevyn osia, jotka on tarkoitettu täydentämään RAM-muistia. Pienemmissä Vultr-esiintymissä, kuten 512 Mt RAM-instanssissa, swap-osion luominen hyödyttäisi suorituskykyä. Käytä alla olevia komentoja saadaksesi automaattisen version vaihto-opetusohjelmasta.

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

Yleisesti ottaen swap-toiminnon käyttäminen ei olisi tarpeen tapauksissa, joissa on vähintään 4 Gt RAM-muistia pysyviä sovelluksia määritettäessä, vaikka se saattaa parantaa sovellusten suorituskykyä. RAM on herkempi kuin swap, joten enemmän RAM-muistia sisältävät esiintymät tuottavat yleensä parempia tuloksia vaihdosta riippumatta.

Asenna lanka

Lanka on helppokäyttöinen Facebookin paketinhallinta Node.js-paketeille. Se on nopeampi kuin NPM ja myös deterministinen, mikä on erityisen hyödyllistä käytettäessä useita palvelimia.

$ 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

NPM:ää voidaan kuitenkin käyttää Yarnin sijasta, ja siinä on vertailukelpoiset komennot kuin kaikki tässä opetusohjelmassa.

Asenna Node.js-sovellus

Jos sovellustasi isännöi git-tietovarasto, kloonaa se ja käytä yarn install. Sovelluksessasi tulisi olla palvelimen syöttötiedosto, yleensä server.jstai index.js, jota käytetään seuraavissa vaiheissa.

Asenna Process Manager 2

Process Manager 2 on paketti, joka käynnistää sovelluksen automaattisesti uudelleen. Process Manager 2 on erittäin suosittu, ja sitä käyttävät Microsoft, PayPal ja Intuit, joten se on turvallinen ja luotettava.

$ yarn global add pm2

Lisää hakemuksesi prosessiksi

Sovellus demonisoidaan (ajetaan taustalla) ja käynnistetään automaattisesti uudelleen käynnistyskomennolla.

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

Jos haluat käynnistää enimmäismäärän prosesseja automaattisesti, välitä -i maxargumentti. Jos tämän Vultr-esiintymän ainoa käyttötarkoitus on sovelluksen palveleminen, tämä on suositeltavaa. Vultr-esiintymissä, joissa on useampi kuin yksi suoritin, käynnistetään useita prosesseja, ja Process Manager 2 toimii kaikkien näiden yksittäisten prosessien kuormituksen tasapainottajana.

Käynnistä sovellus automaattisesti käynnistyksen yhteydessä

Kun olet käynnistänyt sovelluksen, tallenna sovelluksen asetukset. Suorita sitten käynnistyskomento suorittaaksesi Process Manager 2:n automaattisesti taustalla, kun Ubuntu käynnistyy. Ubuntu 16.04:ssä Process Manager 2 sitoutuu systemd.

$ pm2 save
$ pm2 startup

Nyt jos Node.js-sovelluksesi kaatuu virheen takia, se käynnistyy uudelleen, ja jos Ubuntu kaatuu jostain syystä, prosessi käynnistyy automaattisesti uudelleen Ubuntun kanssa. Prosessit voidaan käynnistää uudelleen pm2 gracefulReload allja Process Manager 2 voidaan käynnistää uudelleen sovelluksella pm2 update. Jos haluat estää Process Manager 2:n käynnistymisen käynnistyksen yhteydessä, suorita pm2 unstartup.

Testaus

Yritä kirjoittaa rebootja tarkistaa, tarjotaanko sovellustasi Ubuntun käynnistyksen jälkeen. Jos sovellus on tarkoitettu verkkoon ja sitä tarjotaan portin kautta 80, curl http://localhost/se näyttää aloitussivun HTML-koodin. Jos se ei toimi, komento pm2 statusnäyttää käynnissä olevat prosessit ja käynnistyskomento voidaan antaa uudelleen.

Sovelluksen uusien versioiden käyttöönotto

Jos sovellus päivitetään, esimerkiksi vetämällä git-arkisto, on annettava komento käynnissä olevien sovellusprosessien päivittämiseksi.

$ pm2 update

Käyttöesimerkki

Parse Server , suosittu avoimen lähdekoodin alusta palveluna, toimii sovelluksen taustaohjelmana. Taustajärjestelmä voi kaatua koodivirheiden tai pyyntöjen määrän vuoksi, mutta sovellus ei koe seisokkeja, koska muut palvelimet (ja/tai prosessit) jatkavat toimintaansa ja jäsennyspalvelinprosessi käynnistetään nopeasti uudelleen.


Docker CE:n asentaminen Ubuntuun 16.04

Docker CE:n asentaminen Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Docker on sovellus, jonka avulla voidaan ottaa käyttöön säilöinä ajettavia ohjelmia. Se kirjoitettiin suositulla Go-ohjelmalla

Dirty Cow Exploitin korjaus CentOS:ssä

Dirty Cow Exploitin korjaus CentOS:ssä

Mikä on Dirty Cow (CVE-2016-5195)? Dirty Cow -haavoittuvuutta hyödynnetään siinä, miten Linux käsittelee koodia. Se mahdollistaa etuoikeutettujen käyttäjien gai:n

Aseta aikavyöhyke ja NTP Ubuntuun 14.04

Aseta aikavyöhyke ja NTP Ubuntuun 14.04

Vultr-palvelimia ei välttämättä oteta käyttöön palvelimellasi tarvitsemallasi aikavyöhykkeellä/päivämäärällä/-ajalla. Onneksi voimme asettaa aikavyöhykkeen manuaalisesti ongelmien estämiseksi

Ota Meteor-sovellus käyttöön Ubuntussa

Ota Meteor-sovellus käyttöön Ubuntussa

Tämä artikkeli opastaa sinua Meteor-sovelluksen käyttöönotossa Vultr VPS:ssä, jossa on Ubuntu 14.04. Se voi toimia myös muissa Linux-jakeluissa (yritä a

Kuinka asentaa osTicket FreeBSD 12:een

Kuinka asentaa osTicket FreeBSD 12:een

Käytätkö erilaista järjestelmää? osTicket on avoimen lähdekoodin asiakastuen lippujärjestelmä. osTicket-lähdekoodia isännöidään julkisesti Githubissa. Tässä opetusohjelmassa

Korkea käytettävyys käyttämällä yksityistä verkkoa Ubuntu 16.04:ssä Keepalivedin kanssa

Korkea käytettävyys käyttämällä yksityistä verkkoa Ubuntu 16.04:ssä Keepalivedin kanssa

Jotkut korkean käytettävyyden arkkitehtuurit vaativat kelluvan IP-osoitteen. Tämä toiminto on käytettävissä Vultr-alustalla, kun yksityinen verkko on toiminut

Määritä vain SFTP-käyttäjätilit Ubuntu 14:ssä

Määritä vain SFTP-käyttäjätilit Ubuntu 14:ssä

Johdanto Tietyt skenaariot edellyttävät, että luot käyttäjiä, joilla on luku- ja kirjoitusoikeudet yhteen hakemistoon vain FTP:n kautta. Tämä kirjoitus näyttää sinulle, kuinka t

Pysyvien Node.js-sovellusten määrittäminen Ubuntu 16.04:ssä

Pysyvien Node.js-sovellusten määrittäminen Ubuntu 16.04:ssä

Node.js-sovellukset ovat suosittuja skaalautumiskykynsä vuoksi. Useiden samanaikaisten prosessien suorittaminen useilla palvelimilla tuottaa pienemmän viiveen ja pidemmän käytettävyyden

Kuinka estää samanaikaiset yhteydet Linuxissa IPTablesin avulla

Kuinka estää samanaikaiset yhteydet Linuxissa IPTablesin avulla

iptables on palomuuriohjelmisto, joka löytyy monista jakeluista, mukaan lukien CentOS ja Ubuntu. Tässä asiakirjassa näet, kuinka voit estää samanaikaisuuden

How to Install BookStack on Ubuntu 16.04

How to Install BookStack on Ubuntu 16.04

Using a Different System? BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. BookStack is fully free and open

Tietojen palauttaminen SFTP:n kautta

Tietojen palauttaminen SFTP:n kautta

Tietojen palauttaminen SFTP:n kautta Tapauksissa, joissa asennettu käyttöjärjestelmä kohtaa virheen, joka ei salli käyttöjärjestelmän käynnistymistä normaalisti, data voi olla tarpeen noutaa

OpenVPN-palvelimen luominen Ubuntu 16.04:ssä

OpenVPN-palvelimen luominen Ubuntu 16.04:ssä

Johdanto OpenVPN on suojattu VPN, joka käyttää SSL:ää (Secure Socket Layer) ja tarjoaa laajan valikoiman ominaisuuksia. Tässä oppaassa on hyvä kattaa prosessi

Node.js:n asentaminen lähteestä Ubuntu 14.04:ään

Node.js:n asentaminen lähteestä Ubuntu 14.04:ään

Asenna rakennustyökalut Tarvitaan useita työkaluja. Suorita seuraava komento: apt-get install make g++ libssl-dev git Lataa Node.js lähde Se i

Bro IDS:n asentaminen Ubuntu 16.04:ään

Bro IDS:n asentaminen Ubuntu 16.04:ään

Käytätkö erilaista järjestelmää? Johdanto Bro on tehokas avoimen lähdekoodin verkkoanalyysikehys. Bros keskittyy ensisijaisesti verkkoturvallisuuden valvontaan. Br

Devtoolsin käyttäminen Arch Linuxissa

Devtoolsin käyttäminen Arch Linuxissa

Devtools-paketti tehtiin alun perin luotettaville käyttäjille, jotta he voivat luoda paketteja oikein virallisiin tietovarastoihin. Tavallinen käyttäjä voi kuitenkin käyttää sitä

Makepkg:n käyttäminen Arch Linuxissa

Makepkg:n käyttäminen Arch Linuxissa

Jos käytät makepkg:a suoraan, se saastuttaa järjestelmääsi jonkin verran. Peruskehityksen pakettiryhmä on asennettava. Tällä tavalla oletusarvoisesti riippuvuuksia tarvitaan vain

Päivitä Linux-ydin ilman uudelleenkäynnistystä LivePatchilla Ubuntu 16.04:ssä

Päivitä Linux-ydin ilman uudelleenkäynnistystä LivePatchilla Ubuntu 16.04:ssä

Vultr VPS:n pitäminen ajan tasalla on tärkeää turvallisuuden ja suorituskyvyn kannalta. Tämän prosessin ydin on varmistaa, että järjestelmäsi toimii uusimpien versioiden kanssa

Prosessin mukavuuden (ensisijainen) säätäminen useimmissa Linux-jakeluissa

Prosessin mukavuuden (ensisijainen) säätäminen useimmissa Linux-jakeluissa

GNU/Linux-järjestelmissä hienoutta käytetään määrittämään prosessin suorittimen prioriteetti. Pohjimmiltaan se on prioriteetin vastakohta. Joten mitä mukavampi prosessi on, th

Kuinka asentaa PM2 Ubuntu 16.04:ään

Kuinka asentaa PM2 Ubuntu 16.04:ään

PM2 on erittäin suosittu Node-prosessinhallinta, joka tekee NodeJS-sovellusten suorittamisesta helppoa. PM2 helpottaa sovellusten uudelleenkäynnistämistä, käynnistää kaatumisen automaattisesti uudelleen

How to Install OpenMeetings on Ubuntu 16.04

How to Install OpenMeetings on Ubuntu 16.04

Using a Different System? Apache OpenMeetings is an open source web conferencing application. It is written in Java and supports multiple database servers. I

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja