Como instalar o Node.js e o Pm2 no Ubuntu
O Node.js é um tempo de execução JavaScript popular que permite executar JavaScript no lado do servidor. O PM2 é um gerenciador de processos para o Node.js que ajuda a gerenciar seus aplicativos, garantindo que eles sejam executados sem problemas, reiniciem automaticamente em caso de falhas e permitam o gerenciamento fácil de vários aplicativos. Este guia o orientará na instalação do Node.js e do PM2 em um sistema Ubuntu.
Pré-requisitos
- Versão do Ubuntu: Este guia funciona com o Ubuntu 20.04, 22.04 ou mais recente.
- Privilégios de usuário: Você precisa de acesso sudo ou root para instalar e configurar o software em seu servidor.
Etapa 1: Atualizar os pacotes do sistema
Antes de começar, certifique-se de que os pacotes do sistema estejam atualizados:
sudo apt update
sudo apt upgrade -y
Etapa 2: Instalar o Node.js
Há várias maneiras de instalar o Node.js no Ubuntu. Os métodos mais recomendados são usar o NodeSource ou o nvm (Node Version Manager).
Método 1: instalar o Node.js usando o NodeSource
- Adicionar o repositório NodeSource:Para instalar a versão mais recente do Node.js com suporte a longo prazo (LTS), use os seguintes comandos:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
Esse script adicionará o repositório NodeSource ao seu sistema e atualizará a lista de pacotes.
- Instale o Node.js:
sudo apt install nodejs -y
Esse comando instala o Node.js e o npm (Node Package Manager).
- Verifique a instalação:Verifique se o Node.js e o npm foram instalados corretamente executando:
node -v
npm -v
Esses comandos devem mostrar os números de versão do Node.js e do npm.
Método 2: instalar o Node.js usando o NVM
O uso do nvm permite que você gerencie várias versões do Node.js na mesma máquina.
- Instalar o NVM:Faça o download e instale o nvm usando o script de instalação:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
(Observação: substitua a v0.39.5 pela versão mais recente, se necessário).
- Recarregar a configuração do shell: Depois de instalar o nvm, você precisa recarregar a configuração do shell:
fonte ~/.bashrc
- Instalar o Node.js com o NVM:Para instalar a versão LTS mais recente do Node.js:
nvm install --lts
- Verifique a instalação do Node.js e do npm:
node -v
npm -v
Etapa 3: instalar o PM2
O PM2 é um gerenciador de processos Node.js que permite gerenciar seus aplicativos Node.js com facilidade.
- Instale o PM2 globalmente: Use o npm para instalar o PM2 globalmente:
sudo npm install -g pm2
- Verificar a instalação do PM2:Verifique se o PM2 foi instalado corretamente executando:
pm2 -v
Esse comando deve exibir o número da versão do PM2.
Etapa 4: Uso do PM2 para gerenciar aplicativos Node.js
Depois que o PM2 estiver instalado, você poderá usá-lo para executar e gerenciar seus aplicativos Node.js.
- Iniciar um aplicativo Node.js:Navegue até o diretório do seu aplicativo Node.js e use o PM2 para iniciá-lo:
pm2 start app.js
Substitua app.js pelo ponto de entrada do seu aplicativo.
- Exibir processos em execução: Para ver todos os processos gerenciados pelo PM2, execute:
pm2 list
Isso exibirá uma lista de todos os aplicativos em execução, juntamente com seus status e outros detalhes.
- Reinicie, pare e exclua aplicativos:
- Reiniciar um aplicativo:
pm2 restart app
- Interromper um aplicativo:
pm2 stop app
- Excluir um aplicativo:
pm2 delete app
Substitua app pelo nome ou ID do seu aplicativo.
- Reiniciar um aplicativo:
- Monitorar logs: Para ver os logs de todos os aplicativos PM2, use:
logs do pm2
Para ver os registros de um aplicativo específico:
pm2 logs app
Etapa 5: Configurar o PM2 para iniciar na inicialização
Para garantir que o PM2 seja iniciado automaticamente sempre que o servidor for reiniciado, use o seguinte comando:
pm2 startup
Esse comando exibirá um comando que você precisa executar com sudo para configurar o script de inicialização. Copie e cole esse comando em seu terminal.
Depois de executar o comando, salve a lista de processos atual para garantir que seus aplicativos sejam iniciados na reinicialização:
pm2 save
Isso salva a lista de aplicativos atualmente gerenciados pelo PM2 e os reiniciará automaticamente quando o servidor for reiniciado.
Etapa 6: Implantação de aplicativos com o PM2
O PM2 também pode ser usado para implantações sem tempo de inatividade usando um recurso chamado arquivos de ecossistema. Veja como configurar um arquivo ecosystem.config.js simples:
- Criar o arquivo de ecossistema:
ecossistema do pm2
Isso gera um arquivo chamado ecosystem.config.js com uma configuração básica.
- Edite o arquivo do ecossistema:Abra o arquivo ecosystem.config.js e configure-o com os detalhes do seu aplicativo:
module.exports = {
apps: [
{
nome: 'my-app',
script: 'app.js',
instances: 2,
exec_mode: 'cluster',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'}}]};
Esse exemplo executa seu aplicativo como um cluster com 2 instâncias, o que pode tirar proveito dos processadores de vários núcleos.
- Iniciar aplicativos usando o arquivo de ecossistema:Para iniciar seus aplicativos usando o arquivo de ecossistema:
pm2 start ecosystem.config.js --env production
Etapa 7: Atualização do Node.js e do PM2
Para atualizar o Node.js, use o nvm se o tiver instalado usando esse método ou execute o script de configuração do NodeSource novamente se tiver usado esse método.
Para atualizar o PM2:
sudo npm install -g pm2@latest
pm2 update
Conclusão
Com a instalação bem-sucedida do Node.js e do PM2 no Ubuntu, você estabeleceu a base para um ambiente de produção robusto e eficiente para seus aplicativos Node.js. ?
O PM2 é mais do que apenas um gerenciador de processos; é uma ferramenta avançada que garante que seus aplicativos permaneçam resilientes e disponíveis mesmo durante falhas inesperadas ou tempo de inatividade. Com as reinicializações automáticas do PM2, seu aplicativo pode continuar funcionando sem problemas, sem intervenção manual, reduzindo as possíveis interrupções para seus usuários. ?
Além disso, o PM2 torna a implantação e o dimensionamento muito mais simples. Com recursos como monitoramento de processos, gerenciamento de logs e a capacidade de executar seus aplicativos em segundo plano, você obtém maior controle sobre o ambiente de produção. Isso também permite que você dimensione facilmente os aplicativos gerenciando várias instâncias, garantindo o desempenho ideal durante os períodos de alto tráfego. ?
O uso do PM2 para gerenciar seus aplicativos também fornece informações valiosas sobre o desempenho deles por meio de logs detalhados e ferramentas de monitoramento. Isso permite que você identifique problemas antecipadamente e resolva-os antes que afetem a experiência do usuário. ?
Com essa configuração, você não está apenas pronto para executar seus aplicativos Node.js em um ambiente de produção – você também está equipado com as ferramentas para garantir a confiabilidade, o dimensionamento e a eficiência, ajudando seus aplicativos a prosperar em condições reais. ✨