Weboldal keresés

A PM2 telepítése a Node.js alkalmazások futtatásához a termelési kiszolgálón


A PM2 egy ingyenes nyílt forráskódú, fejlett, hatékony és többplatformos termelési szintű folyamatkezelő a Node.js számára, beépített terheléselosztóval. Linuxon, MacOS-en és Windowson is működik. Támogatja az alkalmazások figyelését, a mikroszolgáltatások/folyamatok hatékony kezelését, az alkalmazások fürt módban való futtatását, az alkalmazások kecses indítását és leállítását.

Alkalmazásait „örökké életben” tartja az automatikus újraindítással, és engedélyezhető, hogy elinduljanak a rendszerindításkor, így lehetővé válik a Magas rendelkezésre állás (HA) konfigurációk vagy architektúrák.

Nevezetesen, a PM2 lehetővé teszi, hogy alkalmazásait fürt módban futtassa anélkül, hogy bármilyen változtatást végezne a kódban (ez a szerveren lévő CPU-magok számától is függ). Ezenkívül lehetővé teszi az alkalmazásnaplók és még sok más egyszerű kezelését.

Ezenkívül hihetetlen támogatást nyújt a főbb Node.js keretrendszerekhez, mint például az Express, az Adonis Js, a Sails , Hapi és még sok más, kódmódosítás nélkül. A PM2-t olyan cégek használják, mint az IBM, a Microsoft, a PayPal és mások.

Ebben a cikkben elmagyarázzuk, hogyan kell telepíteni és használni a PM2-t a Nodejs alkalmazások futtatásához a Linux éles kiszolgálón. Létrehozunk egy alkalmazást, amely bemutatja a PM2 néhány alapvető funkcióját, hogy elkezdhesse használni.

1. lépés: Telepítse a Nodejs-t és az NPM-et Linuxon

1. A Node.js és az NPM legújabb verziójának telepítéséhez először engedélyeznie kell a hivatalos NodeSource tárolót a Linux disztribúciójában, majd telepítenie kell. Node.js és NPM csomagok a képen látható módon.

Debian/Ubuntu alatt

---------- 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

CentOS/RHEL és Fedora rendszeren

---------- 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 -

2. lépés: Hozzon létre egy Nodejs alkalmazást

2. Most hozzunk létre egy tesztelőalkalmazást (feltételezzük, hogy van egy kliens és adminisztrátori oldala, amelyek ugyanazon az adatbázison osztoznak), a mikroszolgáltatások a 3000 portokon fognak futni, és 3001.

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

Ezután másolja ki és illessze be a következő kódrészleteket a server.js fájlba (cserélje ki a 192.168.43.31 kódot a szerver IP-címére).

##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}/`);
});

Mentse el a fájlt és lépjen ki.

3. lépés: Telepítse a PM2 Product Process Manager programot Linux rendszeren

3. A PM2 legújabb stabil verziója telepíthető az NPM-en keresztül, az ábra szerint.

sudo npm i -g pm2 

4. A PM2 telepítése után a következő parancsokkal indíthatja el a csomópont-alkalmazásokat.

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

Ne feledje, hogy éles környezetben a PM2 használatával kell elindítania őket, ahogy az ábrán látható (lehet, hogy nincs szüksége a sudo parancsra, ha az alkalmazás olyan helyen van tárolva, ahol egy normál felhasználó olvasási és írási jogosultsággal rendelkezik).

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

4. lépés: A PM2 használata és kezelése Linuxban

5. Egy alkalmazás fürt módban történő elindításához használja a -i jelzőt például a példányok számának megadásához.

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

6. Az összes csomópont-alkalmazás (folyamat/mikroszolgáltatás) listázásához futtassa a következő parancsot.

sudo pm2 list

7. A naplók és egyéni mutatók figyeléséhez dolgozza fel az összes folyamatból származó információkat a következő parancs futtatásával.

sudo pm2 monit

8. Egyetlen csomóponti folyamat részleteinek megtekintése az ábra szerint, a folyamatazonosító vagy név használatával.

sudo pm2 show 0

5. lépés: A csomópont-alkalmazások kezelése a PM2 használatával Linuxban

9. Az alábbiakban felsorolunk néhány gyakori folyamatkezelési parancsot (egyetlen vagy összes), amelyeket érdemes figyelembe venni.

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. Az alkalmazásnaplók kezeléséhez használja a következő parancsokat.

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. A PM2 folyamat kezeléséhez használja a következő parancsokat.

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

6. lépés: Nyissa meg a csomópont-alkalmazásokat a webböngészőből

12. Az összes csomópont-alkalmazás távoli webböngészőből való eléréséhez először meg kell nyitnia a következő portokat a rendszer tűzfalán, hogy az ábrán látható módon engedélyezze a klienskapcsolatokat az alkalmazásokhoz.

-------- 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. Ezután nyissa meg alkalmazásait egy webböngészőből a következő URL-címekkel:

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

Végül, de nem utolsósorban, a PM2 egy egyszerű, beépített modulrendszer, amely kibővíti alapvető képességeit, néhány modul között megtalálható a pm2-logrotate, a pm2-webshell, a pm2-server-monit stb. saját modulokat is létrehozhat és használhat.

További információért látogasson el a PM2 GitHub tárházába: https://github.com/Unitech/PM2/.

Ez minden! A PM2 egy fejlett és hatékony termelési szintű folyamatkezelő a Node.js számára, beépített terheléselosztóval. Ebben a cikkben bemutattuk, hogyan kell telepíteni és használni a PM2-t a Nodejs-alkalmazások Linux rendszeren történő kezelésére. Ha bármilyen kérdése van, küldje el őket az alábbi megjegyzés űrlapon keresztül.