4 gerentes de processo para o nó.Aplicações JS no Linux

4 gerentes de processo para o nó.Aplicações JS no Linux

A Nó.JS Gerenciador de processos é uma ferramenta útil para garantir que um Nó.JS Processo ou script é executado continuamente (para sempre) e pode permitir que ele seja iniciado automaticamente na inicialização do sistema.

Ele permite monitorar os serviços em execução e facilita tarefas comuns de administração de sistemas (como reiniciar a falha, parar, recarregar configurações sem tempo de inatividade, modificar variáveis/configurações de ambiente, mostrando métricas de desempenho e muito mais). Ele também suporta o registro de aplicativos, agrupamentos e balanceamento de carga e muitos outros recursos úteis de gerenciamento de processos.

Leia também: 14 Best Nodejs Frameworks for Developers em 2019

Um gerente de pacotes é útil especialmente para a implantação de Nó.JS Aplicações em um ambiente de produção. Neste artigo, revisaremos quatro gerentes de processo para Nó.JS Gerenciamento de aplicativos em um sistema Linux.

1. PM2

O PM2 é um de código aberto, avançado, rico em recursos, plataforma cruzada e o gerente de processos de nível de produção mais popular para Nó.JS com um balanceador de carga embutido. Ele permite listar, monitorar e agir em todos os lançados Nodejs processos e suporta o modo de cluster.

Instale o PM2 para executar aplicativos Nodejs no Linux

Ele suporta o monitoramento de aplicativos: oferece uma maneira simples de monitorar o uso do recurso (memória e CPU) do seu aplicativo. Ele suporta seu fluxo de trabalho de gerenciamento de processos, permitindo que você configure e ajuste o comportamento de cada aplicativo por meio de um arquivo de processo (os formatos suportados incluem JavaScript, JSON, e Yaml).

Os registros de aplicativos são sempre essenciais em um ambiente de produção, a esse respeito PM2 permite que você gerencie facilmente os logs do seu aplicativo. Ele fornece maneiras e formatos diferentes para lidar e exibir logs, respectivamente. Você pode exibir logs em tempo real, lavá-los e recarregá-los quando necessário.

Importante, PM2 Suporta scripts de inicialização que você pode configurar para iniciar automaticamente seus processos em reinicializações de máquina esperada ou inesperada. Ele também suporta a restauração automática de um aplicativo quando um arquivo é modificado no diretório atual ou em seus subdiretos.

Além disso, PM2 Vem com um sistema de módulos que permite que os usuários criem módulos personalizados para o NodeJS Process Management. Por exemplo, você pode criar um módulo para o módulo de rotação de log ou balanceamento de carga, e muito mais.

Por último, mas não menos importante, se você estiver usando contêineres do Docker, o PM2 permite a integração de contêineres e oferece um sistema de API que permite usá -lo programaticamente.

2. Strongloop pm

Strongloop PM também é um gerente de processos de produção avançado e de código aberto para Nó.JS Aplicações com balanceamento de carga embutido, assim como PM2 e pode ser usado por meio de uma linha de comando ou uma interface gráfica.

Gerenciador de processos PM Strongloop para NodeJS

Ele suporta o monitoramento de aplicativos (visualize métricas de desempenho, como horários de loop de eventos, CPU e consumo de memória), implantação de vários hosts, modo de cluster, reinicializações e atualizações de aplicativos com zero notim.

Além disso, é enviado com Docker Suporte, permite exportar métricas de desempenho para servidores compatíveis com STATSD e visualizar em consoles de terceiros, como Datadog, Grafite, Splunk, bem como arquivos de syslog e log bruto.

3. Para sempre

Forever é uma ferramenta de interface de linha de comando simples e configurável, de código aberto, para executar um determinado script continuamente (para sempre). É adequado para executar implantações menores de Nó.JS Aplicativos e scripts. Você pode usar para sempre de duas maneiras: através da linha de comando ou incorporando-a em seu código.

Para sempre os scripts executados continuamente

Ele permite que você gerencie (inicie, lista, pare, pare tudo, reinicie, reinicie tudo, etc ...) Nó.JS processos e apoia assistir a alterações de arquivos, modo de depuração, registros de aplicativos, matar de um processo e personalização de sinal de saída e muito mais. Além disso, ele suporta várias opções de uso que você pode passar diretamente da linha de comando ou passá -las em um arquivo json.

4. Systemd - Gerente de Serviço e Sistema

No Linux, o Systemd é um daemon que gerencia recursos do sistema, como processos e outros componentes do sistema de arquivos. Qualquer recurso gerenciado por Systemd é conhecido como um unidade. Existem diferentes tipos de unidades incluindo serviço, dispositivo, soquete, montagem, alvo e muitas outras unidades.

Systemd gerencia unidades através de um arquivo de configuração conhecido como um unidade arquivo. Portanto, para gerenciar seu Nó.JS Servidor Como qualquer outro serviço do sistema, você precisa criar um arquivo de unidade, que neste caso será um arquivo de serviço.

Depois de criar um arquivo de serviço para o seu Nó.JS Servidor, você pode iniciá-lo, habilitá-lo para iniciar automaticamente no momento da inicialização do sistema, verificar seu status, reiniciar (pare e inicie novamente) ou recarregue sua configuração e até pare-o como qualquer outro serviço do Systemd.

Para mais informações, consulte: Como criar e executar novas unidades de serviço no Systemd usando script de shell

Resumo

A Nó.JS O gerenciador de pacotes é uma ferramenta útil para implantar seu projeto em um ambiente de produção. Mantém um aplicativo vivo para sempre e simplifica como você pode controlá -lo. Neste artigo, revisamos quatro gerentes de pacotes para Nó.JS. Se você tiver alguma adição ou pergunta a fazer, use o formulário de feedback abaixo para alcançar -nos.