Yadda ake Sanya PM2 don Gudun Node.js Apps akan Sabar Samfurin


PM2 shine tushen buɗewa kyauta, ci-gaba, inganci kuma mai sarrafa tsarin samar da matakin samar da dandamali don Node.js tare da ginanniyar ma'aunin nauyi. Yana aiki akan Linux, MacOS da Windows. Yana goyan bayan sa ido kan ƙa'idar, ingantaccen sarrafa ƙananan ayyuka/tsari, gudanar da aikace-aikacen cikin yanayin tari, farawar alheri da rufe aikace-aikace.

Yana kiyaye ƙa'idodinku rayayye har abada tare da sake kunnawa ta atomatik kuma ana iya kunna su don farawa a boot ɗin tsarin, don haka ba da izinin daidaitawa ko ƙirƙira Babban Samun (HA).

Musamman, PM2 yana ba ku damar gudanar da aikace-aikacen ku a cikin yanayin tari ba tare da yin wani canje-canje a lambar ku ba (wannan kuma ya dogara da adadin muryoyin CPU akan sabar ku). Hakanan yana ba ku damar sarrafa rajistan ayyukan app cikin sauƙi, da ƙari.

Bugu da ƙari, yana da goyon baya mai ban mamaki ga manyan tsarin Node.js kamar Express, Adonis Js, Sails, Hapi da ƙari, ba tare da buƙatar canje-canjen lambar ba. PM2 na amfani da kamfanoni irin su IBM, Microsoft, PayPal, da ƙari.

A cikin wannan labarin, za mu bayyana yadda ake shigarwa da amfani da PM2 don gudanar da ayyukan Nodejs a cikin uwar garken samar da Linux. Za mu ƙirƙiri app don nuna wasu mahimman abubuwan PM2 don farawa da shi.

Mataki 1: Sanya Nodejs da NPM a cikin Linux

1. Don shigar da mafi kwanan nan na Node.js da NPM, da farko kuna buƙatar kunna ma'ajiyar NodeSource a ƙarƙashin rarraba Linux ɗinku sannan shigar da fakitin Node.js da NPM kamar yadda aka nuna.

---------- Install Node.js v11.x ---------- 
$ curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
$ sudo apt-get install -y nodejs

---------- Install Node.js v10.x ----------
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt-get install -y nodejs
---------- Install Node.js v11.x ---------- 
$ curl -sL https://rpm.nodesource.com/setup_11.x | bash -

---------- Install Node.js v10.x ----------
$ curl -sL https://rpm.nodesource.com/setup_10.x | bash -

Mataki 2: Ƙirƙiri aikace-aikacen Nodejs

2. Yanzu, bari mu ƙirƙiri aikace-aikacen gwaji (za mu ɗauka yana da abokin ciniki da gefen admin waɗanda ke raba bayanan guda ɗaya), microservices za su gudana akan tashar jiragen ruwa 3000, da 3001 bi da bi.

$ sudo mkdir -p /var/www/html/app
$ sudo mkdir -p /var/www/html/adminside
$ sudo vim /var/www/html/app/server.js
$ sudo vim /var/www/html/adminside/server.js

Na gaba, kwafi da liƙa waɗannan guntun lambar a cikin fayilolin server.js (maye gurbin 192.168.43.31 tare da IP uwar garken ku).

##mainapp code
const http = require('http');

const hostname = '192.168.43.31';
const port = 3000;

const server = http.createServer((req, res) => {
	res.statusCode = 200;
  	res.setHeader('Content-Type', 'text/plain');
  	res.end('This is the Main App!\n');
});

server.listen(port, hostname, () => {
  	console.log(`Server running at http://${hostname}:${port}/`);
});
##adminside code
const http = require('http');

const hostname = '192.168.43.31';
const port = 3001;

const server = http.createServer((req, res) => {
	res.statusCode = 200;
  	res.setHeader('Content-Type', 'text/plain');
  	res.end('This is the Admin Side!\n');
});

server.listen(port, hostname, () => {
  	console.log(`Server running at http://${hostname}:${port}/`);
});

Ajiye fayil ɗin kuma fita.

Mataki 3: Sanya Manajan Tsarin Samfur na PM2 a cikin Linux

3. Sabon barga na PM2 yana samuwa don shigarwa ta hanyar NPM kamar yadda aka nuna.

$ sudo npm i -g pm2 

4. Da zarar an shigar da PM2, zaku iya fara aikace-aikacen kumburin ku ta amfani da bin umarni.

$ sudo node /var/www/html/app/server.js
$ sudo node /var/www/html/adminside/server.js

Lura cewa, a cikin yanayin samarwa, yakamata ku fara su ta amfani da PM2, kamar yadda aka nuna (watakila ba za ku buƙaci umarnin sudo ba idan an adana app ɗinku a wurin da mai amfani na yau da kullun ya karanta da rubuta izini).

$ sudo pm2 start /var/www/html/app/server.js
$ sudo pm2 start /var/www/html/adminside/server.js

Mataki na 4: Yadda Ake Amfani da Sarrafa PM2 a cikin Linux

5. Don fara aikace-aikace a yanayin cluster ta amfani da alamar -i don tantance adadin lokuta, misali.

$ sudo pm2 start /var/www/html/app/server.js -i 4 
$ sudo pm2 scale 0 8			#scale cluster app to 8 processes

6. Don lissafta duk aikace-aikacen kumburin ku (tsari/microservices), gudanar da umarni mai zuwa.

$ sudo pm2 list

7. Don saka idanu rajistan ayyukan, ma'auni na al'ada, aiwatar da bayanai daga duk matakai ta hanyar aiwatar da umarni mai zuwa.

$ sudo pm2 monit

8. Don duba cikakkun bayanai na tsarin Node guda ɗaya kamar yadda aka nuna, ta amfani da ID na tsari ko suna.

$ sudo pm2 show 0

Mataki 5: Yadda ake Sarrafa Node Apps Ta amfani da PM2 a cikin Linux

9. Wadannan jerin wasu umarni na gudanarwa na gama gari (daya ko duka) ya kamata ku lura da su.

$ sudo pm2 stop all                  		#stop all apps
$ sudo pm2 stop 0                    		#stop process with ID 0
$ sudo pm2 restart all               		#restart all apps
$ sudo pm2 reset 0		         	#reset all counters
$ sudo pm2 delete all                		#kill and remove all apps
$ sudo pm2 delete 1                 		#kill and delete app with ID 1

10. Don sarrafa rajistan ayyukan, yi amfani da umarni masu zuwa.

$ sudo pm2 logs                      	#view logs for all processes 
$ sudo pm2 logs 1	         	#view logs for app 1
$ sudo pm2 logs --json               	#view logs for all processes in JSON format
$ sudo pm2 flush			#flush all logs

11. Don sarrafa tsarin PM2, yi amfani da umarni masu zuwa.

$ sudo pm2 startup            #enable PM2 to start at system boot
$ sudo pm2 startup systemd    #or explicitly specify systemd as startup system 
$ sudo pm2 save               #save current process list on reboot
$ sudo pm2 unstartup          #disable PM2 from starting at system boot
$ sudo pm2 update	      #update PM2 package

Mataki 6: Shiga Node Apps Daga Mai Binciken Yanar Gizo

12. Don samun damar duk aikace-aikacen node ɗin ku daga mai binciken gidan yanar gizo mai nisa, da farko kuna buƙatar buɗe tashoshin jiragen ruwa masu zuwa akan tsarin Firewall ɗin ku, don ba da damar haɗin abokin ciniki zuwa aikace-aikacen kamar yadda aka nuna.

-------- Debian and Ubuntu -------- 
$ sudo ufw allow 3000/tcp
$ sudo ufw allow 3001/tcp
$ sudo ufw reload

-------- RHEL and CentOS --------
# firewall-cmd --permanent --add-port=3000/tcp
# firewall-cmd --permanent --add-port=3001/tcp
# firewall-cmd --reload 

13. Sannan shiga apps ɗinku daga mashigin yanar gizo tare da waɗannan URLs:

http://198.168.43.31:3000
http://198.168.43.31:3001 

Ƙarshe amma ba kalla ba, PM2 tsari ne mai sauƙi, wanda aka gina a ciki don tsawaita ƙarfin ƙarfinsa, wasu daga cikin kayayyaki sun haɗa da pm2-logrotate, pm2-webshell, pm2-server-monit, da ƙari - za ku iya ƙirƙira da amfani da naku. nasu kayayyaki.

Don ƙarin bayani, je zuwa wurin ajiyar PM2 GitHub: https://github.com/Unitech/PM2/.

Shi ke nan! PM2 ci gaba ne, kuma ingantaccen mai sarrafa tsari na matakin samarwa don Node.js tare da ginanniyar ma'aunin nauyi. A cikin wannan labarin, mun nuna yadda ake shigarwa da amfani da PM2 don sarrafa ayyukan Nodejs a cikin Linux. Idan kuna da wasu tambayoyi, aika su don amfani da su ta hanyar sharhin da ke ƙasa.