Saltar al contenido principal

Ejemplo 07

Cómo Desplegar una Aplicación del Clima en React con PM2​

Aprenderás a desplegar una aplicación React usando PM2 para gestionar el proceso. Este enfoque te permitirá mantener tu aplicación en funcionamiento y facilitar su gestión.

1. Actualiza tu Sistema​

Antes de comenzar, asegúrate de que tu sistema esté actualizado. Ejecuta los siguientes comandos para actualizar los paquetes de tu sistema:

sudo apt update

2. Instala Node.js y npm Usando NVM​

Node Version Manager (NVM) facilita la gestión de múltiples versiones de Node.js. Sigue estos pasos para instalar NVM y configurar Node.js:

  1. Instalar NVM:

    Descarga e instala NVM con el siguiente comando:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
    source ~/.bashrc
  2. Verificar la Instalación y Listar Versiones Disponibles:

    Asegúrate de que NVM esté instalado correctamente y consulta las versiones disponibles de Node.js:

    nvm help
    nvm list-remote
  3. Instalar la Versión Requerida de Node.js:

    Instala la versión específica de Node.js que necesitas:

    nvm install v20.16.0
  4. Seleccionar la Versión de Node.js a Utilizar:

    Selecciona la versión de Node.js que acabas de instalar:

    nvm use v20.16.0
  5. Verificar la Versión Instalada:

    Verifica que Node.js y npm estén disponibles:

    nvm current

3. Clona tu Proyecto​

Con Node.js y npm listos, es momento de clonar y configurar tu proyecto.

Aplicación weather-app (Puerto 3000):

git clone -b devops-weather-app https://github.com/roxsross/devops-static-web.git
cd devops-static-web
npm install

Puedes repetir este proceso para desplegar más aplicaciones según sea necesario.

4. Configura PM2​

PM2 es un administrador de procesos para aplicaciones Node.js que facilita el mantenimiento de las aplicaciones en segundo plano y su reinicio automático en caso de fallo.

Instalar PM2:

npm install pm2@latest -g

Verificar Instalación de PM2:

Asegúrate de que PM2 esté instalado correctamente:

pm2 list

Iniciar la Aplicación en el Puerto 3000:

Inicia la aplicación weather-app y asegúrate de que se reinicie automáticamente si se detiene:

pm2 start --name "weather-app" npm -- start --watch -- --port 3000

El comando anterior debería generar una salida similar a esta:

root@ubuntu-01:~/devops-static-web# pm2 start --name "weather-app" npm -- start --watch -- --port 3000
[PM2] Starting /root/.nvm/versions/node/v20.16.0/bin/npm in fork_mode (1 instance)
[PM2] Done.
┌────┬────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ weather-app │ default │ 0.39.3 │ fork │ 2327 │ 0s │ 0 │ online │ 0% │ 46.1mb │ root │ enabled │
└────┴────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

PM2 garantizará que tu aplicación siga ejecutándose incluso si cierras la sesión del terminal, y el flag --watch permitirá a PM2 vigilar los archivos para detectar cambios.

5. Accede a la Aplicación​

Una vez que hayas configurado PM2, puedes acceder a tu aplicación en el navegador web. Visita http://your_server_ip:3000 || http://localhost:3000 para ver tu aplicación en funcionamiento.