Giunsa Pag-enable ang PM2 sa Auto Start Node.js App sa System Boot


Ang PM2 usa ka gamhanan, kaylap nga gigamit, ug adunahan sa bahin, andam sa produksiyon nga manedyer sa proseso alang sa Node.js. I-restart ang PM2 sa mga proseso nga gidumala niini matag higayon nga ang imong server boots/reboots kritikal. Usa sa mga yawe nga bahin sa PM2 mao ang suporta alang sa usa ka script sa pagsugod (dinamikong nahimo base sa default init system sa imong server), nga mag-restart sa PM2 ug ang imong mga proseso sa matag pagsugod pag-usab sa server.

[ Tingali ganahan ka usab: Giunsa ang Pag-install sa PM2 aron Pagdagan ang Node.js Apps sa Production Server]

Ang script sa pagsugod nagtakda sa PM2 ingon usa ka serbisyo sa ilawom sa init nga sistema. Sa diha nga ang server magsugod pag-usab, kini awtomatik nga i-restart ang PM2, nga unya i-restart ang tanang Node.js nga mga aplikasyon/proseso nga gidumala niini.

Niining artikuloha, ipakita namo kanimo kung unsaon pag-deploy ang PM2 isip usa ka serbisyo aron masaligan ang pagdumala sa imong Node.js apps. Alang niini nga giya, ang sistema sa pagsulay naggamit sa usa ka systemd service ug system manager. Ang tanan nga mga mando sa kini nga artikulo ipatuman ingon gamut (gamita ang sudo kung gikinahanglan alang sa usa ka tiggamit nga adunay mga pribilehiyo sa pagtawag niini).

Paghimo PM2 Start Script para sa Init System

Ang PM2 gidesinyo sa pagtrabaho uban sa default init system sa usa ka Linux system (nga kini mahimong auto-detect) aron makamugna sa startup script ug i-configure ang PM2 isip usa ka serbisyo nga mahimong i-restart sa system boot.

Aron makamugna ang startup script, padagana lang ang mosunod nga command isip root:

# pm2 startup

Ang startup sub-command nagsulti sa PM2 nga makit-an ang magamit nga init nga sistema, makamugna og configuration ug makapahimo sa startup system.

Mahimo usab nimo nga tin-aw nga ipiho ang init nga sistema sama niini:

# pm2 startup systems

Aron makumpirma nga ang serbisyo sa pagsugod sa PM2 nagdagan ug nagdagan sa ilawom sa systemd, padagana ang mosunud nga mando (ilisan ang pm2-root.service sa tinuud nga ngalan sa imong serbisyo, susiha ang output sa miaging command):

# systemctl status pm2-root.service

Pagsugod sa Node.js Applications/Processes

Sunod, gusto nimong sugdan ang imong mga aplikasyon sa Node.js gamit ang PM2 sama sa mosunod. Kung naa na nimo kini, nagsugod pinaagi sa PM2, mahimo nimong laktawan kini nga lakang:

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

Sunod, kinahanglan nimo nga irehistro/i-save ang karon nga lista sa mga proseso nga gusto nimo nga pagdumala gamit ang PM2 aron sila ma-spawn pag-usab sa system boot (matag higayon nga kini gilauman o usa ka wala damha nga pag-restart sa server), pinaagi sa pagpadagan sa mosunod nga sugo:

# pm2 save

I-verify ang PM2 Auto Starting Node.js Apps sa Boot

Sa katapusan, kinahanglan nimo nga sulayan kung maayo ba ang pag-setup. I-restart ang imong sistema, ug susiha kung ang tanan nimong mga proseso sa Node.js nagdagan ubos sa PM2.

# pm2 ls
or
# pm2 status

Timan-i nga mahimo nimo nga mabanhaw ang mga proseso pinaagi sa pagpadagan sa mosunod nga sugo:

# pm2 resurrect

I-disable ang Startup System

Mahimo nimong ma-disable ang startup system pinaagi sa pagpadagan sa unstartup sub-command sama sa gipakita.

# pm2 unstartup
OR
# pm2 startup systemd

Aron ma-update ang script sa pagsugod, una, i-disable kini, dayon sugdi kini pag-usab sama sa gipakita.

# pm2 unstartup
# pm2 startup

Reperensya: PM2 Startup Script Generator.