Cómo ejecutar aplicaciones de Angular utilizando Angular CLI y PM2

Angular CLI es una interfaz de línea de comandos para el framework Angular, que se utiliza para crear, construir y ejecutar tu aplicación localmente mientras desarrollas.

Está diseñado para construir y probar un proyecto Angular en un servidor de desarrollo. Sin embargo, si deseas ejecutar/mantener tus aplicaciones siempre activas en producción, necesitas un gestor de procesos Node.js como PM2.

PM2 es un gestor de procesos de producción popular, avanzado y rico en características para aplicaciones Node.js con un balanceador de carga incorporado.

Su conjunto de características incluye soporte para monitoreo de aplicaciones, gestión eficiente de microservicios/procesos, ejecución de aplicaciones en modo de clúster y reinicio y apagado de aplicaciones de forma grácil. Además, admite una gestión sencilla de registros de aplicaciones y mucho más.

En este artículo, te mostraremos cómo ejecutar aplicaciones Angular utilizando Angular CLI y el gestor de procesos Node.js PM2. Esto te permite ejecutar tu aplicación de forma continua durante el desarrollo.

Requisitos

Debes tener instalados los siguientes paquetes en tu servidor para proceder:

Nota: Si ya tienes Node.js y NPM instalados en tu sistema Linux, salta al Paso 2.

Paso 1: Instalar Node.js en Linux

Para instalar la última versión de Node.js, primero, agrega el repositorio de NodeSource en tu sistema como se muestra e instala el paquete. No olvides ejecutar el comando correcto para la versión de Node.js que deseas instalar en tu distribución de Linux.

Instalar Node.js en Ubuntu

------------- For Node.js v19.x ------------- 
$ curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\
$ sudo apt-get install -y nodejs

------------- For Node.js v18.x -------------
$ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
$ sudo apt-get install -y nodejs

------------- For Node.js v16.x -------------
$ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
$ sudo apt-get install -y nodejs

------------- For Node.js v14.x -------------
$ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - &&\
$ sudo apt-get install -y nodejs

Instalar Node.js en Debian

------------- For Node.js v19.x ------------- 
$ curl -fsSL https://deb.nodesource.com/setup_19.x | bash - &&\
$ sudo apt-get install -y nodejs

------------- For Node.js v18.x ------------- 
$ curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\
$ sudo apt-get install -y nodejs

------------- For Node.js v16.x ------------- 
$ curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&\
$ sudo apt-get install -y nodejs

------------- For Node.js v14.x ------------- 
$ curl -fsSL https://deb.nodesource.com/setup_14.x | bash - &&\
$ sudo apt-get install -y nodejs

Instalar Node.js en Distribuciones basadas en RHEL

------------- For Node.js v19.x ------------- 
$ curl -fsSL https://rpm.nodesource.com/setup_19.x | sudo bash -
$ sudo yum install -y nodejs

------------- For Node.js v18.x ------------- 
$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
$ sudo yum install -y nodejs

------------- For Node.js v16.x ------------- 
$ curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
$ sudo yum install -y nodejs

------------- For Node.js v14.x ------------- 
$ curl -fsSL https://rpm.nodesource.com/setup_14.x | sudo bash -
$ sudo yum install -y nodejs

Además, también instala herramientas de desarrollo en tu sistema para que puedas compilar e instalar complementos nativos desde NPM.

$ sudo apt install build-essential  [On Debian/Ubuntu]
# yum install gcc-c++ make          [On CentOS/RHEL]
# dnf install gcc-c++ make          [On Fedora]

Una vez que hayas instalado Node.js y NPM, puedes verificar sus versiones usando los siguientes comandos.

$ node -v
$ npm -v
Check Node.js and NPM Version

Paso 2: Instalación de Angular CLI y PM2

A continuación, instale Angular CLI y PM2 utilizando el gestor de paquetes npm como se muestra. En los siguientes comandos, la opción -g significa instalar los paquetes globalmente, accesibles por todos los usuarios del sistema.

$ sudo npm install -g @angular/cli        #install Angular CLI
$ sudo npm install -g pm2                 #install PM2

Paso 3: Crear un Proyecto Angular Usando Angular CLI

Ahora muévase al directorio webroot de su servidor, luego cree, compile y sirva su aplicación Angular (llamada sysmon-app, reemplace esto con el nombre de su aplicación) utilizando Angular CLI.

$ cd /srv/www/htdocs/
$ sudo ng new sysmon-app        #follow the prompts
Create New Angular App

A continuación, muévase al directorio de la aplicación (la ruta completa es /srv/www/htdocs/sysmon-app) que acaba de ser creada y sirva la aplicación como se muestra.

$ cd sysmon-app
$ sudo ng serve
Serve Angular App Using Angular CLI

Desde la salida del comando ng serve, puede ver que la aplicación Angular no se está ejecutando en segundo plano, no puede acceder al símbolo del sistema. Por lo tanto, no puede ejecutar otros comandos mientras se esté ejecutando.

Por lo tanto, necesita un gestor de procesos para controlar y administrar la aplicación: ejecutarla continuamente (siempre) y también habilitarla para iniciarse automáticamente en el arranque del sistema, como se explica en la siguiente sección.

Antes de pasar a la siguiente sección, termine el proceso presionando [Ctl + C] para liberar el símbolo del sistema.

Terminate Running Angular App

Paso 4: Ejecutar el Proyecto Angular Continuamente Usando PM2

Para hacer que su nueva aplicación se ejecute en segundo plano, liberando el símbolo del sistema, use PM2 para servirla, como se muestra. PM2 también ayuda en tareas comunes de administración del sistema como reiniciar en caso de fallo, detener y recargar configuraciones sin tiempo de inactividad, y mucho más.

$ pm2 start "ng serve" --name sysmon-app
Run Angular App Forever

Para acceder a la interfaz web de tu aplicación, abre un navegador y navega utilizando la dirección http://localhost:4200 como se muestra en la siguiente captura de pantalla.

Access Sysmon Angular App from Browser

En esta guía, hemos mostrado cómo ejecutar aplicaciones Angular utilizando el Angular CLI y el gestor de procesos PM2. Si tienes alguna idea adicional para compartir o preguntas, contáctanos a través del formulario de comentarios a continuación.

Source:
https://www.tecmint.com/create-and-run-angular-apps-using-angular-cli-and-pm2/