Košarica (0)
  • Vaša košarica je trenutno prazna

NEOSERV BLOG

Novice in nasveti iz sveta domen, gostovanja, SSL certifikatov, spletnih strani, spletnih trgovin in ostalih področij spleta.

Naši paketi deljenega spletnega gostovanja (od paketa ZELENI dalje) med drugim omogočajo tudi razvoj in zagon Node.js aplikacij. Toda razvoj Node.js aplikacije je šele prvi korak, potrebno je namreč poskrbeti tudi za to, da aplikacija ves čas deluje.

V nadaljevanju boste spoznali, kako z uporabo upravitelja procesov PM2 (ang. PM2 process manager) doseči, da se v primeru nepričakovane napake oz. zaustavitve aplikacije le-ta ponovno samodejne zažene.

Sledite naslednjim korakom:

  • Napišite zanesljivo Node.js programsko kodo z najboljšimi praksami za obravnavo napak.
  • Z uporabo upravitelja procesov PM2 zaznajte napako in znova zaženite aplikacijo.
  • Konfigurirajte cron opravilo za preverjanje delovanja aplikacije in ponoven zagon PM2, če aplikacija ne deluje.

Uporaba upravitelja procesov PM2

PM2 je upravitelj procesov za Node.js aplikacije. Uporablja se za nadzor in samodejni ponovni zagon aplikacij – v primeru, ko zaradi nepredvidenega dogodka pride do zaustavitve oz. nedelovanja aplikacije.

Upravitelja procesov PM2 namestite z naslednjim ukazom:

npm install pm2

Za zagon aplikacije uporabite ukaz:

pm2 start myapp.js

Ko aplikacije zaženete na ta način (lahko jih zaženete več), lahko preverite seznam vseh aktivnih aplikacij:

pm2 list

Poleg tega lahko z uporabo PM2 preverite tudi podrobnosti posamezne aktivne aplikacije:

pm2 show <app-id>

Toda kaj se zgodi, ko se deljeni strežnik ponovno zažene (npr. ob posodobitvi strežnika)? Takrat je PM2 proces zaustavljen in ga je potrebno znova zagnati. Enako velja tudi za aplikacijo. Da se bo upravitelj procesov PM2 po ponovnega zagonu strežnika samodejno pognal, boste dosegli s cron opravilom.

Nastavitev cron opravila za samodejni zagon PM2

Cron opravila (ang. Cron jobs) omogočajo avtomatizacijo zaganjanja aplikacij ali skript ob določenem času. Ta čas je lahko definiran kot časovni interval (npr. na vsako uro) ali kot sistemski dogodek (npr. ponovni zagon strežnika).

Ustrezno nastavljeno cron opravilo bo torej opravljalo dve funkciji:

  • V definiranih časovnih intervalih in ob ponovnem zagonu strežnika bo preverjalo status aplikacije.
  • Ponovno bo pognalo upravitelja procesov PM2, če bo ugotovljeno, da ni aktiven.

Z uporabo cron opravila boste dosegli, da bo na strežniku deljenega spletnega gostovanja čas nedelovanja vaše Node.js aplikacije minimiziran.

Začnite s pripravo skripte, ki bo preverila stanje izvajanja Node.js aplikacije:

#!/bin/bash
ps cax | grep node > /dev/null
if [ $? -eq 0 ]; then
echo "Node.js aplikacija je aktivna." >/dev/null 2>&1
else
echo "Node.js aplikacija ni aktivna."
PATH=$PATH:/usr/local/bin
pm2 start /path/to/your/node/application
fi

Zgornja koda bo preverila, ali se node proces izvaja, in če se ne, ga bo z uporabo upravitelja procesov PM2 znova zagnala.

Zdaj dodajte še periodično izvajanje te kode:

  • z dodajanjem cron opravila prek nadzorne plošče cPanel: sh /path/to/your/script
  • z urejanjem cron opravila neposredno iz terminala: crontab -e

Z implementacijo opisanih korakov boste dosegli, da bo vaša Node.js aplikacija na deljenem gostovanju aktivna ves čas delovanja strežnika. V primeru nepričakovane napake bo PM2 le-to zaznal in aplikacijo znova pognal. V primeru izpada ali ponovnega zagona strežnika pa bo skripta – v kombinaciji s cron opravilom – znova samodejno zagnala aplikacijo.

Ste vedeli, da lahko v nadzorni plošči cPanel vnesete svoj e-poštni naslov, na katerega vam bo poslano sporočilo, ko bo cron opravilo uspešno izvedeno? Na ta način boste prejeli obvestilo, ko aplikacija ne bo delovala oziroma ko se bo znova zagnala.

KOMENTARJI

KOMENTIRAJTE OBJAVO

(obvezno)
(obvezno, e-poštni naslov bo skrit)
(neobvezno)
Varnostno vprašanje, ki potrdi, da ste resnična oseba.