Како да подесите Ноде.јс трајне апликације на Убунту 16.04

Ноде.јс апликације су популарне због своје способности скалирања. Покретање више истовремених процеса на више сервера даје мање кашњење и дуже време непрекидног рада. Када управљате више сервера, најлакше је да се Ноде.јс апликације аутоматски поново покрену ако се сруше. Овај водич ће вам показати како да брзо подесите постојаност апликације из празне инстанце Убунту 16.04.

Предуслови

  • Направите Вултр инстанцу било које величине помоћу Убунту 16.04 ЛТС к64.
  • Ако нисте роот корисник, покрените sudo -sи унесите своју лозинку. Роот приступ је неопходан да би се изменила датотека за покретање тако да се менаџер процеса покреће при покретању.
  • Уверите се да је Ноде.јс инсталиран на инстанци и да је верзија Ноде.јс 8.9.3 ЛТС или новија, што је потребно да би менаџер постојаности радио несметано. Користите node -vза проверу инсталиране верзије. Ако Ноде.јс није на исправној верзији, следеће команде ће га инсталирати.

Инсталирајте Ноде.јс.

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

Направите свап партицију

Овај корак је опционалан, али се препоручује за инсталацију. Свап партиције су делови чврстог диска који су намењени за допуну РАМ-а. На мањим Вултр инстанцама, као што је инстанца од 512 МБ РАМ-а, креирање свап партиције би било корисно за перформансе. За аутоматизовану верзију водича за замену, користите наредбе испод.

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

Уопштено говорећи, коришћење замене не би било неопходно за случајеве са 4 ГБ РАМ-а или више када се постављају трајне апликације, иако може побољшати перформансе апликација. РАМ боље реагује од замене, тако да ће инстанце са више РАМ-а дати боље резултате без обзира на замену.

Инсталирајте Иарн

Иарн је једноставан за коришћење менаџер пакета са Фацебоок-а за Ноде.јс пакете. Бржи је од НПМ-а и такође детерминистички, што је посебно корисно када се поставља више сервера.

$ 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

Међутим, НПМ се може користити уместо Иарн-а и има упоредиве команде са свим онима у овом водичу.

Инсталирајте своју Ноде.јс апликацију

Ако се ваша апликација налази у гит спремишту, клонирајте је и користите yarn install. Ваша апликација треба да има фајл за унос сервера, обично server.jsили index.js, који ће се користити у следећим корацима.

Инсталирајте Процесс Манагер 2

Процесс Манагер 2 је пакет који ће аутоматски поново покренути апликацију. Процесс Манагер 2 је веома популаран, а користе га Мицрософт, ПаиПал и Интуит, тако да је сигуран и поуздан.

$ yarn global add pm2

Додајте своју апликацију као процес

Апликација ће бити демонизована (покренута у позадини) и аутоматски поново покренута командом старт.

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

Ако желите да аутоматски покренете максималан број процеса, проследите -i maxаргумент. Ако је једина употреба ове Вултр инстанце да служи апликацији, онда се ово препоручује. За Вултр инстанце са више од једног ЦПУ-а, покренуће се више процеса, а Процесс Манагер 2 ће деловати као балансатор оптерећења за све ове појединачне процесе.

Аутоматски покрените апликацију при покретању

Након покретања апликације, сачувајте конфигурацију апликације. Затим покрените наредбу за покретање да бисте аутоматски покренули Процесс Манагер 2 у позадини када се Убунту покрене. За Убунту 16.04, Процесс Манагер 2 ће се везати за systemd.

$ pm2 save
$ pm2 startup

Сада ако се ваша Ноде.јс апликација сруши због грешке, она ће се поново покренути, а ако се Убунту сруши из било ког разлога, процес ће се аутоматски поново покренути са Убунтуом. Процеси се могу поново покренути са pm2 gracefulReload allи Процесс Манагер 2 се може поново покренути са pm2 update. Да бисте зауставили покретање Процесс Манагер-а 2 при покретању, покрените pm2 unstartup.

Тестирање

Покушајте да куцате rebootи проверите да ли се ваша апликација послужује након што се Убунту покрене. Ако је апликација за веб и послужује се преко порта 80, тада curl http://localhost/ће се приказати ХТМЛ за почетну страницу. У случају да не ради, команда pm2 statusће приказати покренуте процесе, а стартна команда се може поново издати.

Примена нових верзија апликације

Ако се апликација ажурира, на пример повлачењем гит спремишта, онда се мора издати команда за ажурирање покренутих процеса апликације.

$ pm2 update

Пример употребе

Парсе Сервер , популарна платформа отвореног кода као услуга, служи као позадина за апликацију. Позадински део може да се сруши због грешака у коду или обима захтева, али апликација неће искусити застоје јер други сервери (и/или процеси) настављају да раде, а процес Парсе Сервер се брзо поново покреће.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више