Jak zainstalować PM2 do uruchomienia węzła.Aplikacje JS na serwerze produkcyjnym

Jak zainstalować PM2 do uruchomienia węzła.Aplikacje JS na serwerze produkcyjnym

PM2 to bezpłatny menedżer procesów open source, zaawansowany, wydajny i międzyplatformowy na poziomie produkcji Węzeł.JS z wbudowanym równoważnikiem obciążenia. Działa na Linux, macOS, jak i Windows. Obsługuje monitorowanie aplikacji, wydajne zarządzanie mikro-usługami/procesami, uruchamianie aplikacji w trybie klastra, wdzięczny początek i wyłączenie aplikacji.

Utrzymuje twoje aplikacje „żywy na zawsze”Z automatycznym ponownym uruchomieniem i można go włączyć w rozruchu systemowym, umożliwiając w ten sposób Duża dostępność (Ha) Konfiguracje lub architektury.

Szczególnie, PM2 umożliwia uruchamianie aplikacji Tryb klastra Bez wprowadzania żadnych zmian w kodzie (zależy to również od liczby rdzeni procesora na serwerze). Umożliwia także łatwe zarządzanie dziennikami aplikacji i wiele więcej.

Ponadto ma również niesamowite wsparcie dla majora Węzeł.JS ramy takie jak Wyrazić, Adonis JS, Żagle, Hapi i więcej, bez potrzeby zmian kodu. PM2 są używane przez takie firmy IBM, Microsoft, PayPal, i więcej.

W tym artykule wyjaśnimy, jak zainstalować i używać PM2 biegać NodeJS Aplikacje na serwerze produkcyjnym Linux. Stworzymy aplikację do zademonstrowania niektórych podstawowych funkcji PM2, abyś mógł zacząć od tego.

Krok 1: Zainstaluj Nodejs i NPM w Linux

1. Aby zainstalować najnowszą wersję Węzeł.JS I NPM, Najpierw musisz włączyć oficjalne repozytorium węzłów w ramach dystrybucji Linux, a następnie zainstalować Węzeł.JS I NPM pakiety jak pokazano.

Na Debian/Ubuntu

---------- Zainstaluj węzeł.JS V11.X ---------- $ curl -sl https: // deb.węzłów.com/setup_11.x | sudo -e bash -$ sudo apt -get instal -y nodejs ---------- Zainstaluj węzeł.JS V10.X ---------- $ curl -sl https: // deb.węzłów.com/setup_10.x | sudo -e bash -$ sudo apt -get instal -y nodejs 

Na Centos/Rhel i Fedora

---------- Zainstaluj węzeł.JS V11.X ---------- $ curl -sl https: // rpm.węzłów.com/setup_11.x | grzmotnąć - ---------- Zainstaluj węzeł.JS V10.X ---------- $ curl -sl https: // rpm.węzłów.com/setup_10.x | grzmotnąć - 

Krok 2: Utwórz aplikację NodeJS

2. Teraz utwórzmy aplikację testową (założymy, że ma ona klient i administrator, które udostępniają tę samą bazę danych), mikrousługi będą działać na portach 3000, I 3001 odpowiednio.

$ sudo mkdir -p/var/www/html/app $ sudo mkdir -p/var/www/html/admininside $ sudo vim/var/www/html/app/server server.JS $ sudo vim/var/www/html/admininside/serwer.JS 

Następnie skopiuj i wklej następujące elementy kodu w serwer.JS pliki (zamień 192.168.43.31 z adresem IP serwera).

## Kod MainApp const http = wymaga („http”); const hostName = '192.168.43.31 '; const port = 3000; const Server = http.createServer ((req, res) => res.STATHCODE = 200; res.Setheader („Content-Type”, „Text/Plain”); res.koniec („To jest główna aplikacja!\N'); ); serwer.Listen (port, nazwa hosta, () => konsola.log ('serwer działający na http: // $ hostName: $ port/'); ); ## adminesside kod const http = wymaga („http”); const hostName = '192.168.43.31 '; const port = 3001; const Server = http.createServer ((req, res) => res.STATHCODE = 200; res.Setheader („Content-Type”, „Text/Plain”); res.koniec („To jest strona administracyjna!\N'); ); serwer.Listen (port, nazwa hosta, () => konsola.log ('serwer działający na http: // $ hostName: $ port/'); ); 

Zapisz plik i wyjdź.

Krok 3: Zainstaluj menedżer procesów produktu PM2 w Linux

3. Najnowsza stabilna wersja PM2 można zainstalować za pośrednictwem NPM jak pokazano.

$ sudo npm i -g pm2 

4. Raz PM2 Zainstalowane, możesz uruchomić aplikacje węzłowe za pomocą następujących poleceń.

$ sudo węzeł/var/www/html/app/serwer.JS $ sudo węzeł/var/www/html/admininside/serwer.JS 

Zauważ, że w środowisku produkcyjnym należy je zacząć od użycia PM2, Jak pokazano (możesz nie potrzebować polecenia sudo, jeśli aplikacja jest przechowywana w miejscu, w którym normalny użytkownik ma uprawnienia do odczytu i zapisu).

$ sudo pm2 start/var/www/html/app/serwer.JS $ sudo pm2 start/var/www/html/admininside/serwer.JS 
Uruchom aplikację NodeJS za pomocą PM2

Krok 4: Jak korzystać i zarządzać PM2 w Linux

5. Aby uruchomić aplikację w trybie klastra za pomocą -I Flaga, aby określić na przykład liczbę instancji.

$ sudo pm2 start/var/www/html/app/serwer.JS -i 4 $ sudo PM2 Skala 0 8 #Skale Klaster App to 8 procesów 

6. Aby wymienić całą aplikację Node (proces/mikrousługę), uruchom następujące polecenie.

Lista $ sudo PM2 
Wypisz wszystkie aplikacje węzłowe zarządzane PM2

7. Aby monitorować dzienniki, wskaźniki niestandardowe, przetwarzaj informacje ze wszystkich procesów, uruchamiając następujące polecenie.

$ sudo pm2 monit 
Monitoruj wszystkie procesy węzłów

8. Aby wyświetlić szczegóły procesu pojedynczego węzła, jak pokazano, za pomocą identyfikatora procesu lub nazwy.

$ sudo pm2 show 0 
Zobacz szczegóły pojedynczej aplikacji

Krok 5: Jak zarządzać aplikacjami węzłów za pomocą PM2 w Linux

9. Poniżej znajduje się lista niektórych powszechnych procesów (pojedynczych lub wszystkich) poleceń zarządzania, o których należy zwrócić uwagę.

$ sudo pm2 Stop All #stop wszystkie aplikacje $ sudo pm2 stop 0 #stop proces z identyfikatorem 0 $ sudo pm2 restart wszystkie #restart wszystkie aplikacje $ sudo pm2 reset 0 #reset wszystkie liczniki $ sudo pm2 usuń wszystkie #kill i usuń wszystkie aplikacje $ sudo pm2 usuń 1 #Kill i usuń aplikację z identyfikatorem 1 

10. Aby zarządzać dziennikami aplikacji, użyj następujących poleceń.

$ sudo pm2 dzienniki #View dzienniki dla wszystkich procesów $ sudo pm2 dzienniki 1 #View dzienniki dla aplikacji 1 $ sudo pm2 dzienniki -JSON #View logs dla wszystkich procesów w formacie JSON $ sudo pm2 #flush Wszystkie dzienniki 

11. Aby zarządzać procesem PM2, użyj następujących poleceń.

$ sudo pm2 start -up #enable PM2, aby rozpocząć w systemie $ sudo pm2 Systemd #or jawnie określić systemd jako system startupowy $ sudo pm2 Zapisz #Save bieżąca lista procesów na ponownym uruchomieniu $ sudo pm2 #Disable PM2 od rozpoczęcia w systemie $ sudo $ sudo $ sudo $ sudo $ sudo Aktualizacja PM2 #UPDATE PAKIET PM2 

Krok 6: Dostęp do aplikacji węzłów z przeglądarki internetowej

12. Aby uzyskać dostęp do wszystkich aplikacji węzłowych ze zdalnej przeglądarki internetowej, najpierw musisz otworzyć następujące porty w zaporze systemowym, aby umożliwić połączenia klienckie z aplikacjami, jak pokazano.

-------- Debian i Ubuntu -------- $ sudo ufw zezwolić 3000/tcp $ sudo ufw zezwolić 3001/tcp $ sudo ufw Reload -------- RHEL i CENTOS -------- # Firewall-CMD --Permanent --add-port = 3000/tcp # Firewall-CMD --Permanent --add-port = 3001/tcp # Firewall-CMD--RELOAD 

13. Następnie uzyskaj dostęp do aplikacji z przeglądarki internetowej z tymi adresami URL:

http: // 198.168.43.31: 3000 http: // 198.168.43.31: 3001 
Dostęp do aplikacji węzłów z przeglądarki

Nie mniej ważny, PM2 jest prostym, wbudowanym systemem modułów do rozszerzenia swoich podstawowych możliwości, niektóre moduły obejmują PM2-logrotat, PM2-WebShell, PM2-Server-Monit i więcej-możesz także tworzyć i używać własnych modułów.

Aby uzyskać więcej informacji, przejdź do repozytorium PM2 Github: https: // github.COM/Unitech/PM2/.

To wszystko! PM2 jest zaawansowanym i wydajnym menedżerem procesów na poziomie produkcyjnym dla Węzeł.JS z wbudowanym równoważnikiem obciążenia. W tym artykule pokazaliśmy, jak instalować i używać PM2 do zarządzania aplikacjami Nodejs w Linux. Jeśli masz jakieś zapytania, wyślij je do użycia przez poniższy formularz komentarza.