Cómo instalar PM2 para ejecutar el nodo.Aplicaciones JS en el servidor de producción

Cómo instalar PM2 para ejecutar el nodo.Aplicaciones JS en el servidor de producción

PM2 es un administrador de procesos de nivel de producción de nivel abierto, avanzado, eficiente y de nivel multiplataforma para Nodo.js con un equilibrador de carga incorporado. Funciona en Linux, MacOS y Windows. Admite el monitoreo de aplicaciones, la gestión eficiente de microervicios/procesos, ejecutar aplicaciones en modo de clúster, inicio elegante y apagado de aplicaciones.

Mantiene sus aplicaciones "vivo para siempre"Con reinicios automáticos y se puede habilitar para comenzar en el arranque del sistema, lo que permite Alta disponibilidad (JA) Configuraciones o arquitecturas.

Notablemente, PM2 le permite ejecutar sus aplicaciones en modo de clúster sin hacer ningún cambio en su código (esto también depende de la cantidad de núcleos de CPU en su servidor). También le permite administrar fácilmente los registros de aplicaciones, y mucho más.

Además, también tiene un apoyo increíble para Major Nodo.js marcos como Expresar, Adonis JS, Paño, Hapi y más, sin necesidad de cambios en el código. PM2 está siendo utilizado por empresas como IBM, Microsoft, Paypal, y más.

En este artículo, explicaremos cómo instalar y usar PM2 correr Nodejs aplicaciones en el servidor de producción de Linux. Crearemos una aplicación para demostrar algunas de las características fundamentales de PM2 para que comience con ella.

Paso 1: Instale NodeJS y NPM en Linux

1. Para instalar la versión más reciente de Nodo.js y Npm, Primero debe habilitar el repositorio oficial de Nodesource bajo su distribución de Linux y luego instalar Nodo.js y Npm Paquetes como se muestra.

En Debian/Ubuntu

---------- Instalar nodo.JS V11.X ---------- $ curl -sl https: // Deb.nodource.com/setup_11.x | sudo -e bash -$ sudo apt -get install -y nodejs ---------- Instalar nodo.JS V10.X ---------- $ curl -sl https: // Deb.nodource.com/setup_10.x | sudo -e bash -$ sudo apt -get install -y nodejs 

En Centos/Rhel y Fedora

---------- Instalar nodo.JS V11.X ---------- $ curl -sl https: // rpm.nodource.com/setup_11.x | intento - ---------- Instalar nodo.JS V10.X ---------- $ curl -sl https: // rpm.nodource.com/setup_10.x | intento - 

Paso 2: crear una aplicación NodeJS

2. Ahora, creemos una aplicación de prueba (asumiremos que tiene un cliente y un lado de administración que comparten la misma base de datos), los microservicios se ejecutarán en puertos 3000, y 3001 respectivamente.

$ 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/servidor.js 

A continuación, copie y pegue las siguientes piezas de código en el servidor.js archivos (reemplazar 192.168.43.31 con su servidor IP).

## Código MainApp const http = require ('http'); const hostname = '192.168.43.31 '; Const Port = 3000; const servidor = http.createServer ((req, res) => res.statuscode = 200; resonancia.Setheader ('Content-type', 'Text/Plain'); resonancia.End ('Esta es la aplicación principal!\norte'); ); servidor.escuchar (puerto, hostname, () => consola.log ('servidor ejecutándose en http: // $ hostname: $ puerto/'); ); ## Código de administración const http = require ('http'); const hostname = '192.168.43.31 '; Const Port = 3001; const servidor = http.createServer ((req, res) => res.statuscode = 200; resonancia.Setheader ('Content-type', 'Text/Plain'); resonancia.End ('Este es el lado administrativo!\norte'); ); servidor.escuchar (puerto, hostname, () => consola.log ('servidor ejecutándose en http: // $ hostname: $ puerto/'); ); 

Guarda el archivo y cierra.

Paso 3: Instale el Administrador de procesos de productos PM2 en Linux

3. La última versión estable de PM2 está disponible para instalar a través de Npm como se muestra.

$ sudo npm i -g pm2 

4. Una vez PM2 Instalado, puede iniciar sus aplicaciones de nodo utilizando los siguientes comandos.

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

Tenga en cuenta que, en un entorno de producción, debe iniciarlos usando PM2, Como se muestra (es posible que no necesite comando sudo si su aplicación se almacena en una ubicación donde un usuario normal tiene permisos de lectura y escritura).

$ sudo pm2 start/var/www/html/app/servidor.js $ sudo pm2 start/var/www/html/adminside/servidor.js 
Inicio de la aplicación NodeJS usando PM2

Paso 4: Cómo usar y administrar PM2 en Linux

5. Para iniciar una aplicación en modo clúster utilizando el -i marcar para especificar el número de instancias, por ejemplo.

$ sudo pm2 start/var/www/html/app/servidor.JS -I 4 $ sudo PM2 Escala 0 8 #Scale Cluster App a 8 procesos 

6. Para enumerar toda su aplicación de nodo (proceso/microservicios), ejecute el siguiente comando.

Lista de $ sudo PM2 
Enumere todas las aplicaciones de nodo administradas de PM2

7. Para monitorear registros, métricas personalizadas, procesar información de todos los procesos ejecutando el siguiente comando.

$ sudo PM2 Monit 
Monitorear todos los procesos de nodo

8. Para ver los detalles de un solo proceso de nodo como se muestra, utilizando el ID de proceso o el nombre.

$ sudo pm2 show 0 
Ver detalles de una sola aplicación

Paso 5: Cómo administrar aplicaciones de nodo usando PM2 en Linux

9. La siguiente es una lista de algunos comandos de gestión de procesos comunes (sencillo o total) que debe tomar nota de.

$ sudo PM2 Stop All #Stop All Apps $ sudo PM2 Stop 0 #Stop Process with ID 0 $ $ Sudo PM2 Reiniciar todas #RESTART Todas las aplicaciones $ sudo PM2 RESET 0 #RESET Todos los contadores $ sudo PM2 Eliminar todo #Kill y eliminar todas las aplicaciones $ sudo PM2 Eliminar 1 ##Kill y eliminar la aplicación con ID 1 

10. Para administrar registros de aplicaciones, use los siguientes comandos.

$ sudo PM2 Logs #View Logs para todos los procesos $ sudo PM2 Logs 1 #View Logs para la aplicación 1 $ sudo PM2 Logs --Json #View Logs para todos los procesos en formato JSON $ sudo PM2 Flush #Flush Todos los registros 

11. Para administrar el proceso PM2, use los siguientes comandos.

$ sudo PM2 inicio #Anable PM2 para comenzar en el arranque del sistema $ sudo PM2 Systemd #o especificar explícitamente Systemd como sistema de inicio $ sudo PM2 Guardar #save la lista de procesos actual en reinicio $ sudo PM2 Unstartup #disable PM2 para comenzar en el sistema $ sudo $ sudo PM2 Actualización #Update PM2 Paquete 

Paso 6: Aplicaciones de nodo de acceso desde el navegador web

12. Para acceder a toda su aplicación de nodo desde un navegador web remoto, primero debe abrir los siguientes puertos en el firewall de su sistema, para permitir las conexiones del cliente a las aplicaciones como se muestra.

-------- Debian y Ubuntu -------- $ sudo UFW Permitir 3000/TCP $ sudo UFW Permitir 3001/TCP $ sudo UFW RELOAD -------- Rhel y Centos -------- # firewall-cmd --Permanent --add-puerto = 3000/tcp # firewall-cmd --permanent --add-puerto = 3001/tcp # firewall-cmd--relead 

13. Luego acceda a sus aplicaciones desde un navegador web con estas URL:

http: // 198.168.43.31: 3000 http: // 198.168.43.31: 3001 
Aplicaciones de nodo de acceso desde el navegador

Por último, pero no menos importante, PM2 es un sistema de módulo simple e incorporado para extender sus capacidades centrales, algunos de los módulos incluyen PM2-Logrotate, PM2-Webshell, PM2-Server-Monit y más: también puede crear y usar sus propios módulos.

Para obtener más información, visite el repositorio de PM2 GitHub: https: // github.com/unitech/pm2/.

Eso es todo! PM2 es un administrador de procesos de nivel de producción avanzado y eficiente para Nodo.js con un equilibrador de carga incorporado. En este artículo, mostramos cómo instalar y usar PM2 para administrar aplicaciones NodeJS en Linux. Si tiene alguna consulta, envíelas a usar a través del formulario de comentarios a continuación.