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.