Como configurar um aplicativo Node.js para produção no Rocky Linux 9

Como configurar um aplicativo Node.js para produção no Rocky Linux 9

Introdução

O Rocky Linux é uma distribuição Linux empresarial derivada do Red Hat Enterprise Linux (RHEL). É uma opção estável e segura para implantar e executar aplicativos de produção. O Node.js é uma plataforma de tempo de execução de JavaScript popular para desenvolver aplicativos escaláveis e em tempo real.

Este guia fornecerá instruções passo a passo sobre como configurar e implantar um aplicativo Node.js para produção no Rocky Linux 9. Vamos cobrir tópicos como:

* Instalação do Node.js e do gerenciador de pacotes do Node (NPM)
* Configuração do ambiente de produção
* Implantação do aplicativo Node.js
* Monitoramento e manutenção do aplicativo

Este guia pressupõe que você tenha acesso root ao seu servidor Rocky Linux 9 e uma compreensão básica de comandos Linux.

Instalando o Node.js e o NPM

Primeiro, instale o Node.js e o NPM usando o gerenciador de pacotes dnf do Rocky Linux:

bash
dnf install nodejs npm

Verifique a instalação executando os seguintes comandos:

bash
node -v
npm -v

Você deve ver as versões instaladas do Node.js e NPM impressas.

Configurando o ambiente de produção

Para configurar o ambiente de produção para o aplicativo Node.js, precisamos criar um diretório de projeto e arquivos de configuração.

Criando o diretório do projeto

Crie um diretório para seu aplicativo Node.js:

bash
mkdir my-app
cd my-app

Criando o arquivo package.json

Crie um arquivo package.json no diretório do projeto. Este arquivo define as dependências e metadados do projeto:

bash
npm init -y

Criando o arquivo app.js

Crie um arquivo app.js no diretório do projeto. Este arquivo conterá o código do aplicativo Node.js:

bash
// app.js
console.log('Olá, produção!');

Instalando dependências

Instale quaisquer dependências necessárias para o aplicativo Node.js usando o NPM:

bash
npm i --production

Isso instalará as dependências em modo de produção, excluindo pacotes de desenvolvimento.

Implantação do aplicativo Node.js

Agora, implante o aplicativo Node.js usando o gerenciador de processos systemd.

Criando o arquivo de serviço do systemd

Crie um arquivo de serviço do systemd chamado my-app.service* no diretório */etc/systemd/system/:

bash
sudo nano /etc/systemd/system/my-app.service

Cole o seguinte conteúdo no arquivo:

ini
[Unit]
Description=My Node.js Application
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node /home/usuario/my-app/app.js
Restart=on-failure
User=usuario

[Install]
WantedBy=multi-user.target

Substitua usuario pelo nome do usuário que executará o aplicativo.

Habilitando e iniciando o serviço

Habilite e inicie o serviço usando os seguintes comandos:

bash
sudo systemctl enable my-app.service
sudo systemctl start my-app.service

Monitoramento e manutenção

Monitore o status do aplicativo Node.js usando os seguintes comandos:

bash
sudo systemctl status my-app.service
sudo journalctl -u my-app.service

Para atualizar o aplicativo, faça as alterações necessárias no código app.js e reinstale as dependências:

bash
npm i --production
sudo systemctl restart my-app.service

Conclusão

Você configurou com sucesso um aplicativo Node.js para produção no Rocky Linux 9. Seguindo as etapas descritas neste guia, você pode implantar e manter aplicativos Node.js de forma confiável e eficiente.

Este guia forneceu uma base sólida para a implantação de aplicativos Node.js em produção. Para obter informações mais avançadas, consulte os seguintes recursos:

* Documentação do Node.js
* Documentação do systemd

FAQs

1. Posso implantar aplicativos Node.js em um servidor Rocky Linux 8?

Sim, você pode implantar aplicativos Node.js no Rocky Linux 8 seguindo etapas semelhantes às descritas neste guia.

2. Quais são os benefícios de usar o systemd para gerenciar o aplicativo Node.js?

O systemd fornece gerenciamento de processos confiável e recursos avançados, como reinicialização automática em caso de falha.

3. Como posso proteger meu aplicativo Node.js em produção?

Implemente medidas de segurança, como autenticação, autorização e criptografia, para proteger seu aplicativo contra acesso não autorizado.

4. Posso usar o Docker para implantar meu aplicativo Node.js?

Sim, o Docker é uma opção para implantar aplicativos Node.js em um ambiente isolado e portátil.

5. Como posso monitorar o desempenho do meu aplicativo Node.js?

Use ferramentas de monitoramento como o Prometheus ou o Grafana para coletar métricas e monitorar o desempenho do aplicativo.

6. Quais são as melhores práticas para implantação de aplicativos Node.js em produção?

* Use gerenciamento de configuração
* Crie um plano de implantação
* Teste e verifique o aplicativo antes da implantação
* Monitore o aplicativo após a implantação

7. Posso usar o PM2 para gerenciar meu aplicativo Node.js?

Sim, o PM2 é um gerenciador de processos popular para aplicativos Node.js que oferece recursos como balanceamento de carga, reinicialização automática e monitoramento.

8. Como lidar com erros no meu aplicativo Node.js?

Use manipulação de erros adequada para capturar e lidar com erros de forma graciosa, evitando falhas do aplicativo.