Administração do Node.js

Instalação

A instalação do Node.js não exige nenhuma preparação ou configuração especial. O endereço https://nodejs.org/en/download/ contém os links da versão apropriada para diversas plataformas.

Como resultado da instalação fica disponível um programa chamado node.

Executando-se o comando

node <enter>

entra-se no modo interativo (também conhecido como ambiente REPL).

Executando-se o comando

node app.js <enter>

o script JavaScript contido no arquivo app.js será carregado e executado.

Configuração

Na maioria dos casos não há nenhuma configuração a ser feita no Node.js. As configurações que podem ser realizadas estão diretamente relacionadas à aplicação que está sendo executada.

Uma prática comum é definir variáveis de ambiente para configurar parâmetros utilizados na execução da aplicação.

O Node.js disponibiliza o objeto process.env para ter acesso a variáveis de ambiente.

Informações sensíveis (como senhas ou endereços de bases de dados usadas pela aplicação) não deveriam estar codificadas explicitamente no código fonte da aplicação.

É bastante comum também haver um ambiente de desenvolvimento, quando a aplicação está sendo desenvolvida/testada, e um ambiente de produção, quando está implantada e utilizada por usuários reais.

Por exemplo, vamos supor que durante o desenvolvimento de uma aplicação utiliza-se a base de dados BD_FORNECEDORES_TESTESe em produção a base de dados BD_FORNECEDORES. Na aplicação, o fragmento de código abaixo estabelece, hipoteticamente, uma conexão com a base de dados:

 ...
 const banco = process.env.BANCO
 const conexao = db.connect(banco)
 ...

Para executar a aplicação em modo de desenvolvimento basta definir a variável de ambiente BANCO:

 No ambiente Linux/MacOS:

 export BANCO='BD_FORNECEDORES_TESTES'


 No ambiente Windows:
 set BANCO='BD_FORNECEDORES_TESTES'

Mais do que uma simples conveniência, às vezes a definição de variáveis de ambiente podem impactar dramaticamente o desempenho da aplicação. Por exemplo, o framework Express utiliza a variável NODE_ENV para realizar otimizações nos seus algoritmos. Se o valor da variável for production então será priorizado o desenpenho. Mas se o valor for diferente de production ou não estiver definido o express assume que está em ambiente de desenvolvimento e priorizará a corretude do código recompilando o código a cada requisição. O seguinte post relata essa situação.

Gerenciamento

Gerenciar uma aplicação em produção é, no contexto deste documento, significa:

  • monitorar a aplicação para que esteja sempre no ar, reiniciando automaticamente sempre que houver necessidade.

  • explorar de modo eficiente o hardware que executa a aplicação. Por default, uma aplicação Node.js é single thread (só utiliza uma CPU).

O post Switching from cluster module to PM2 & RabbitMQ in Node.js faz uma exelente apresentação dos conceitos envolvidos com gerenciamento de aplicações Node.

results matching ""

    No results matching ""