Kif Ippermetti PM2 għal Auto Start Node.js App fil-Boot tas-Sistema
PM2 huwa maniġer tal-proċess b'saħħtu, użat ħafna, u b'ħafna karatteristiċi, lest għall-produzzjoni għal Node.js. Il-bidu mill-ġdid tal-PM2 bil-proċessi li jamministra kull darba li s-server tiegħek boots/reboots huwa kritiku. Waħda mill-karatteristiċi ewlenin tal-PM2 hija l-appoġġ għal script tal-istartjar (iġġenerat dinamikament ibbażat fuq is-sistema init default fuq is-server tiegħek), li jerġa 'jibda PM2 u l-proċessi tiegħek f'kull bidu mill-ġdid tas-server.
[ Jista 'jkollok ukoll: Kif Tinstalla PM2 biex tmexxi Node.js Apps fuq Production Server ]
L-iskript tal-bidu jistabbilixxi PM2 bħala servizz taħt is-sistema init. Meta s-server jerġa 'jibda, awtomatikament jerġa' jibda PM2, li mbagħad jerġa 'jibda l-applikazzjonijiet/proċessi kollha Node.js li jkun qed jimmaniġġja.
F'dan l-artikolu, aħna ser nuruk kif tuża PM2 bħala servizz biex timmaniġġja b'mod affidabbli l-apps Node.js tiegħek. Għal din il-gwida, is-sistema tat-test tuża servizz systemd u maniġer tas-sistema. Il-kmandi kollha f'dan l-artikolu se jiġu esegwiti bħala root (uża sudo fejn meħtieġ għal utent bi privileġġi biex jinvokah).
Iġġenera PM2 Start Script għas-Sistema Init
PM2 huwa ddisinjat biex jaħdem mas-sistema init default fuq sistema Linux (li tista' tiskopri awtomatikament) biex tiġġenera l-iskript tal-istartjar u tikkonfigura PM2 bħala servizz li jista' jerġa' jinbeda fil-boot tas-sistema.
Biex tiġġenera l-iskript tal-istartjar, sempliċement ħaddem il-kmand li ġej bħala root:
# pm2 startup
Is-sottokmand tal-istartjar jgħid lill-PM2 biex jiskopri sistema init disponibbli, jiġġenera konfigurazzjoni u jippermetti s-sistema tal-istartjar.
Tista' wkoll tispeċifika b'mod espliċitu s-sistema init hekk:
# pm2 startup systems
Biex tikkonferma li s-servizz tal-istartjar PM2 qed jaħdem taħt systemd, ħaddem il-kmand li ġej (ibdel il-pm2-root.service bl-isem attwali tas-servizz tiegħek, iċċekkja l-output tal-kmand preċedenti):
# systemctl status pm2-root.service
Ibda Applikazzjonijiet/Proċessi Node.js
Sussegwentement, trid tibda l-applikazzjonijiet Node.js tiegħek billi tuża PM2 kif ġej. Jekk diġà għandekhom jaħdmu, bdew permezz tal-PM2, tista' taqbeż dan il-pass:
# cd /var/www/backend/api-v1-staging/ # pm2 start src/bin/www.js -n api-service-staging
Sussegwentement, għandek bżonn tirreġistra/issejvja l-lista attwali ta 'proċessi li trid timmaniġġja bl-użu tal-PM2 sabiex jerġgħu jitbiddlu mal-boot tas-sistema (kull darba li jkun mistenni jew jerġa' jibda server mhux mistenni), billi tħaddem il-kmand li ġej:
# pm2 save
Ivverifika PM2 Auto Starting Node.js Apps fil Boot
Fl-aħħarnett, trid tittestja jekk is-setup tkunx qed taħdem sew. Ibda mill-ġdid is-sistema tiegħek, u ċċekkja jekk il-proċessi kollha tiegħek Node.js humiex qed jaħdmu taħt PM2.
# pm2 ls or # pm2 status
Innota li tista 'tqajjem il-proċessi manwalment billi tħaddem il-kmand li ġej:
# pm2 resurrect
Itfi s-Sistema tal-Istartjar
Tista' tiddiżattiva s-sistema tal-istartjar billi tħaddem is-sub-kmand tal-unstartup kif muri.
# pm2 unstartup OR # pm2 startup systemd
Biex taġġorna l-iskript tal-istartjar, l-ewwel, iddiżattivaha, imbagħad ibda mill-ġdid kif muri.
# pm2 unstartup # pm2 startup
Referenza: PM2 Startup Script Generator.