Node.js no Rocky Linux 9: Guia Completo de Produção

Rocky Linux, uma distribuição Linux empresarial que descende do Red Hat Enterprise Linux (RHEL), apresenta-se como uma plataforma robusta e estável para o alojamento e execução de aplicações em ambientes de produção. O Node.js, por sua vez, é uma plataforma de execução JavaScript bastante utilizada, ideal para o desenvolvimento de aplicações escaláveis e em tempo real.

Este guia detalha o processo de configuração e implementação de uma aplicação Node.js para um ambiente de produção no Rocky Linux 9. Abordaremos:

  • Instalação do Node.js e do gestor de pacotes Node (NPM)
  • Configuração do ambiente de produção
  • Implementação da aplicação Node.js
  • Monitorização e manutenção da aplicação

Este tutorial pressupõe que tem acesso de root ao seu servidor Rocky Linux 9 e um conhecimento básico de comandos Linux.

Instalando o Node.js e o NPM

Comece por instalar o Node.js e o NPM utilizando o gestor de pacotes dnf do Rocky Linux:

dnf install nodejs npm

Para verificar a instalação, execute os seguintes comandos:

node -v

npm -v

Deverá ser exibida a versão instalada de cada um.

Configurando o Ambiente de Produção

Para estruturar o ambiente de produção, necessitamos de criar um diretório para o projeto e os arquivos de configuração.

Criando o Diretório do Projeto

Crie o diretório para a sua aplicação Node.js:

mkdir minha-aplicacao

cd minha-aplicacao

Criando o Arquivo package.json

Dentro do diretório do projeto, crie um arquivo package.json. Este arquivo define as dependências e metadados do projeto:

npm init -y

Criando o Arquivo app.js

Crie um arquivo app.js dentro do diretório do projeto. Este arquivo conterá o código da sua aplicação Node.js:

// app.js

console.log('Olá, produção!');

Instalando as Dependências

Instale as dependências necessárias para a sua aplicação Node.js usando o NPM:

npm i --production

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

Implementando a Aplicação Node.js

Agora, iremos implementar a aplicação Node.js utilizando o gestor de processos systemd.

Criando o Arquivo de Serviço do systemd

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

sudo nano /etc/systemd/system/minha-aplicacao.service

Insira o seguinte conteúdo no ficheiro:


[Unit]
Description=Minha Aplicação Node.js
After=network.target

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

[Install]
WantedBy=multi-user.target

Substitua usuario pelo nome do utilizador que irá executar a aplicação.

Habilitando e Iniciando o Serviço

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

sudo systemctl enable minha-aplicacao.service

sudo systemctl start minha-aplicacao.service

Monitorização e Manutenção

Monitorize o estado da sua aplicação Node.js com os seguintes comandos:

sudo systemctl status minha-aplicacao.service

sudo journalctl -u minha-aplicacao.service

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

npm i --production

sudo systemctl restart minha-aplicacao.service

Conclusão

Parabéns, configurou com sucesso uma aplicação Node.js para produção no Rocky Linux 9. Seguindo os passos aqui descritos, pode implementar e manter aplicações Node.js de forma fiável e eficiente.

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

Perguntas Frequentes (FAQs)

1. Posso implementar aplicações Node.js em um servidor Rocky Linux 8?

Sim, pode implementar aplicações Node.js no Rocky Linux 8 seguindo passos similares aos apresentados neste guia.

2. Quais as vantagens de usar o systemd para gerir a aplicação Node.js?

O systemd oferece gestão de processos robusta e funcionalidades avançadas, como reinicialização automática em caso de falha.

3. Como posso proteger a minha aplicação Node.js em produção?

Implemente medidas de segurança como autenticação, autorização e encriptação para proteger a sua aplicação contra acessos não autorizados.

4. Posso usar o Docker para implementar a minha aplicação Node.js?

Sim, o Docker é uma opção válida para implementar aplicações Node.js num ambiente isolado e portável.

5. Como posso monitorizar o desempenho da minha aplicação Node.js?

Utilize ferramentas de monitorização como o Prometheus ou o Grafana para coletar métricas e monitorizar o desempenho da sua aplicação.

6. Quais são as melhores práticas para a implementação de aplicações Node.js em produção?

  • Utilizar gestão de configuração
  • Criar um plano de implementação
  • Testar e verificar a aplicação antes da implementação
  • Monitorizar a aplicação após a implementação

7. Posso usar o PM2 para gerir a minha aplicação Node.js?

Sim, o PM2 é um gestor de processos popular para aplicações Node.js que oferece funcionalidades como balanceamento de carga, reinicialização automática e monitorização.

8. Como lidar com erros na minha aplicação Node.js?

Utilize uma manipulação de erros adequada para capturar e tratar os erros de forma controlada, evitando que a aplicação termine de forma inesperada.