Kuinka ottaa PM2 käyttöön käynnistämään Node.js-sovellus automaattisesti järjestelmän käynnistyksen yhteydessä


PM2 on tehokas, laajalti käytetty ja monipuolinen tuotantovalmis prosessinhallinta Node.js:lle. PM2:n uudelleenkäynnistys sen hallitsemilla prosesseilla aina, kun palvelin käynnistyy/uudelleenkäynnistetään, on tärkeää. Yksi PM2:n tärkeimmistä ominaisuuksista on tuki käynnistysskriptille (luodettu dynaamisesti palvelimesi oletusaloitusjärjestelmän perusteella), joka käynnistää PM2:n ja prosessisi uudelleen jokaisen palvelimen uudelleenkäynnistyksen yhteydessä.

Aloitusskripti määrittää PM2:n palveluksi init-järjestelmän alaisuudessa. Kun palvelin käynnistyy uudelleen, se käynnistää automaattisesti PM2:n, joka käynnistää sitten uudelleen kaikki hallinnoimansa Node.js-sovellukset/prosessit.

Tässä artikkelissa näytämme, kuinka PM2 otetaan käyttöön palveluna, jolla voit hallita luotettavasti Node.js-sovelluksiasi. Tässä oppaassa testijärjestelmä käyttää systemd-palvelua ja järjestelmänhallintaa. Kaikki tämän artikkelin komennot suoritetaan root-komentoina (käytä sudoa tarvittaessa, jotta käyttäjä, jolla on käyttöoikeudet, voi kutsua sen).

Luo PM2-aloitusskripti Init-järjestelmälle

PM2 on suunniteltu toimimaan oletusarvoisen init-järjestelmän kanssa Linux-järjestelmässä (jonka se voi tunnistaa automaattisesti) käynnistysohjelman luomiseksi ja PM2:n määrittämiseksi. > palveluna, joka voidaan käynnistää uudelleen järjestelmän käynnistyksen yhteydessä.

Luo käynnistysskripti suorittamalla seuraava komento pääkäyttäjänä:

pm2 startup

Startup-alikomento käskee PM2:ta havaitsemaan käytettävissä olevan aloitusjärjestelmän, luomaan määritykset ja ottamaan käynnistysjärjestelmän käyttöön.

Voit myös määrittää init-järjestelmän nimenomaisesti seuraavasti:

pm2 startup systems

Varmista, että PM2-käynnistyspalvelu on käytössä systemd-tilassa, suorittamalla seuraava komento (korvaa pm2-root.service varsinaisella komennolla palvelun nimi, tarkista edellisen komennon tulos):

systemctl status pm2-root.service

Käynnistä Node.js Applications/Processes

Seuraavaksi haluat käynnistää Node.js-sovelluksesi käyttämällä PM2:ta seuraavasti. Jos sinulla on ne jo käytössä PM2:n kautta aloitettuina, voit ohittaa tämän vaiheen:

cd /var/www/backend/api-v1-staging/
pm2 start src/bin/www.js -n api-service-staging

Seuraavaksi sinun on rekisteröitävä/tallennettava nykyinen luettelo prosesseista, joita haluat hallita PM2:lla, jotta ne alkavat syntyä uudelleen järjestelmän käynnistyksen yhteydessä (aina kun se on odotettavissa tai palvelimen odottamaton uudelleenkäynnistys) mennessä. seuraavan komennon suorittaminen:

pm2 save

Tarkista PM2:n automaattinen käynnistys Node.js-sovellukset käynnistyksen yhteydessä

Lopuksi sinun on testattava, toimiiko asennus hyvin. Käynnistä järjestelmä uudelleen ja tarkista, ovatko kaikki Node.js-prosessisi käynnissä PM2:ssa.

pm2 ls
or
pm2 status

Huomaa, että voit elvyttää prosesseja manuaalisesti suorittamalla seuraavan komennon:

pm2 resurrect

Poista käynnistysjärjestelmä käytöstä

Voit poistaa käynnistysjärjestelmän käytöstä suorittamalla unstartup-alikomennon kuvan mukaisesti.

pm2 unstartup
OR
pm2 startup systemd

Päivitä käynnistysskripti ensin poistamalla se käytöstä ja käynnistämällä se sitten uudelleen kuvan osoittamalla tavalla.

pm2 unstartup
pm2 startup

Viite: PM2 Startup Script Generator.