Pesquisa de site

Como criar e executar aplicativos Angular usando Angular CLI e PM2


Angular CLI é uma interface de linha de comando para a estrutura Angular, que é usada para criar, construir e executar seu aplicativo localmente durante o desenvolvimento.

Ele foi projetado para construir e testar um projeto Angular em um servidor de desenvolvimento. No entanto, se você deseja executar/manter seus aplicativos ativos para sempre em produção, você precisa de um gerenciador de processos Node.js como o PM2.

PM2 é um gerenciador de processos de produção popular, avançado e rico em recursos para aplicativos Node.js com um balanceador de carga integrado.

Seu conjunto de recursos inclui suporte para monitoramento de aplicativos, gerenciamento eficiente de microsserviços/processos, execução em modo cluster de aplicativos e reinicialização e desligamento suave de aplicativos. Além disso, oferece suporte ao fácil gerenciamento de logs de aplicativos e muito mais.

Neste artigo, mostraremos como executar aplicativos Angular usando o Angular CLI e o gerenciador de processos PM2 Node.js. Isso permite que você execute seu aplicativo continuamente durante o desenvolvimento.

Requisitos

Você deve ter os seguintes pacotes instalados em seu servidor para continuar:

  • Node.js e NPM
  • CLI angular
  • PM2

Nota: Se você já tem Node.js e NPM instalados em seu sistema Linux, vá para Etapa 2.

Etapa 1: Instalando Node.js no Linux

Para instalar a versão mais recente do Node.js, primeiro adicione o repositório NodeSource em seu sistema conforme mostrado e instale o pacote. Não se esqueça de executar o comando correto para a versão do Node.js que deseja instalar em sua distribuição Linux.

Instale o Node.js no 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

Instale o Node.js no 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

Instale Node.js em distribuições baseadas em 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

Além disso, instale também ferramentas de desenvolvimento em seu sistema para que você possa compilar e instalar complementos nativos do NPM.

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

Depois de instalar o Node.js e o NPM, você pode verificar suas versões usando os seguintes comandos.

node -v
npm -v

Etapa 2: Instalando Angular CLI e PM2

Em seguida, instale o Angular CLI e o PM2 usando o gerenciador de pacotes npm conforme mostrado. Nos comandos a seguir, a opção -g significa instalar os pacotes globalmente – utilizáveis por todos os usuários do sistema.

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

Etapa 3: Criando um projeto Angular usando Angular CLI

Agora vá para o diretório webroot do seu servidor, crie, construa e sirva seu aplicativo Angular (chamado sysmon-app, substitua pelo nome do seu aplicativo) usando CLI angular.

cd /srv/www/htdocs/
sudo ng new sysmon-app        #follow the prompts

Em seguida, vá para o diretório do aplicativo (o caminho completo é /srv/www/htdocs/sysmon-app) que acabou de ser criado e atende o aplicativo conforme mostrado.

cd sysmon-app
sudo ng serve

Na saída do comando ng serve, você pode ver que o aplicativo Angular não está sendo executado em segundo plano, você não pode mais acessar o prompt de comando. Portanto, você não pode executar nenhum outro comando enquanto estiver em execução.

Portanto, você precisa de um gerenciador de processos para controlar e gerenciar o aplicativo: execute-o continuamente (para sempre) e também habilite-o para iniciar automaticamente na inicialização do sistema, conforme explicado na próxima seção.

Antes de ir para a próxima seção, encerre o processo pressionando [Ctl + C] para liberar o prompt de comando.

Etapa 4: executando o projeto Angular para sempre usando PM2

Para fazer seu novo aplicativo rodar em segundo plano, liberando o prompt de comando, use PM2 para servi-lo, conforme mostrado. O PM2 também auxilia tarefas comuns de administração do sistema, como reiniciar em caso de falha, parar e recarregar configurações sem tempo de inatividade e muito mais.

pm2 start "ng serve" --name sysmon-app

A seguir, para acessar a interface web da sua aplicação, abra um navegador e navegue usando o endereço http://localhost:4200 conforme mostrado na imagem a seguir.

Neste guia, mostramos como executar aplicativos Angular usando Angular CLI e o gerenciador de processos PM2. Se você tiver alguma ideia adicional para compartilhar ou perguntas, entre em contato conosco através do formulário de feedback abaixo.