Como instalar o PM2 para executar o nó.Aplicativos JS no servidor de produção

Como instalar o PM2 para executar o nó.Aplicativos JS no servidor de produção

PM2 é um código aberto gratuito, avançado, eficiente e entre plataforma de produção em nível de produção gerente de processos para Nó.JS com um balanceador de carga embutido. Funciona no Linux, MacOS e Windows. Ele suporta monitoramento de aplicativos, gerenciamento eficiente de micro-serviços/processos, execução de aplicativos no modo de cluster, início gracioso e desligamento dos aplicativos.

Mantém seus aplicativos “vivo para sempre”Com reinício automático e pode ser ativado para começar na inicialização do sistema, permitindo assim Alta disponibilidade (Ha) configurações ou arquiteturas.

Notavelmente, PM2 permite que você execute seus aplicativos em modo de cluster Sem fazer alterações no seu código (isso também depende do número de núcleos da CPU no seu servidor). Ele também permite que você gerencie facilmente logs de aplicativos e muito mais.

Além disso, também tem um apoio incrível para o major Nó.JS estruturas como Expressar, Adonis JS, Velas, Hapi E mais, sem a necessidade de alterações de código. PM2 está sendo usado por empresas como IBM, Microsoft, PayPal, e mais.

Neste artigo, explicaremos como instalar e usar PM2 para correr Nodejs Aplicativos no Linux Production Server. Criaremos um aplicativo para demonstrar alguns dos recursos fundamentais do PM2 para você começar com ele.

Etapa 1: Instale o NodeJS e o NPM no Linux

1. Para instalar a versão mais recente de Nó.JS e Npm, Primeiro, você precisa ativar o repositório oficial de Sodesource na sua distribuição Linux e depois instalar Nó.JS e Npm pacotes como mostrado.

No Debian/Ubuntu

---------- Instale o nó.JS v11.x ---------- $ curl -sl https: // Deb.Sodesource.com/setup_11.x | sudo -e bash -$ sudo apt -get install -y nodejs ---------- Instale o nó.JS V10.x ---------- $ curl -sl https: // Deb.Sodesource.com/setup_10.x | sudo -e bash -$ sudo apt -get install -y nodejs 

No CentOS/Rhel e Fedora

---------- Instale o nó.JS v11.x ---------- $ curl -sl https: // rpm.Sodesource.com/setup_11.x | Bash - ---------- Instale o nó.JS V10.x ---------- $ curl -sl https: // rpm.Sodesource.com/setup_10.x | Bash - 

Etapa 2: Crie um aplicativo NodeJS

2. Agora, vamos criar um aplicativo de teste (assumiremos que ele possui um lado do cliente e do administrador que compartilham o mesmo banco de dados), os microsserviços serão executados nas portas 3000, e 3001 respectivamente.

$ sudo mkdir -p/var/www/html/app $ sudo mkdir -p/var/www/html/Adminside $ sudo vim/var/www/html/app/servidor.js $ sudo vim/var/www/html/Adminside/servidor.JS 

Em seguida, copie e cole as seguintes peças de código no servidor.JS arquivos (substitua 192.168.43.31 com o seu servidor IP).

## Código MainApp const http = requer ('http'); const hostName = '192.168.43.31 '; Porta const = 3000; const server = http.createServer ((req, res) => res).statusCode = 200; res.setheader ('conteúdo-tipo', 'texto/simples'); res.fim ('este é o aplicativo principal!\ n '); ); servidor.Ouça (Port, HostName, () => Console.log ('servidor em execução em http: // $ hostName: $ porta/'); ); ## Código do Adminside const http = requer ('http'); const hostName = '192.168.43.31 '; Porta const = 3001; const server = http.createServer ((req, res) => res).statusCode = 200; res.setheader ('conteúdo-tipo', 'texto/simples'); res.fim ('este é o lado do administrador!\ n '); ); servidor.Ouça (Port, HostName, () => Console.log ('servidor em execução em http: // $ hostName: $ porta/'); ); 

Salve o arquivo e saia.

Etapa 3: Instale o gerenciador de processos de produto PM2 no Linux

3. A mais recente versão estável de PM2 está disponível para instalação via Npm como mostrado.

$ sudo npm i -g pm2 

4. Uma vez PM2 Instalado, você pode iniciar seus aplicativos de nó usando os seguintes comandos.

$ sudo nó/var/www/html/app/servidor.JS $ sudo nó/var/www/html/Adminside/servidor.JS 

Observe que, em um ambiente de produção, você deve iniciá -los usando PM2, Conforme mostrado (você pode não precisar do comando sudo se o seu aplicativo for armazenado em um local onde um usuário normal leu e grava permissões).

$ sudo pm2 start/var/www/html/app/servidor.JS $ sudo pm2 start/var/www/html/Adminside/servidor.JS 
Inicie o aplicativo Nodejs usando PM2

Etapa 4: Como usar e gerenciar o PM2 no Linux

5. Para iniciar um aplicativo no modo de cluster usando o -eu sinalizador para especificar o número de instâncias, por exemplo.

$ sudo pm2 start/var/www/html/app/servidor.JS -i 4 $ sudo pm2 escala 0 8 #scale cluster aplicativo para 8 processos 

6. Para listar todo o seu aplicativo de nó (processo/microsserviços), execute o seguinte comando.

Lista de $ sudo pm2 
Liste todos os aplicativos de nós gerenciados do PM2

7. Para monitorar logs, métricas personalizadas, processos informações de todos os processos executando o seguinte comando.

Monit $ sudo pm2 
Monitore todos os processos de nó

8. Para visualizar os detalhes de um único processo de nó, como mostrado, usando o ID do processo ou o nome.

$ sudo pm2 show 0 
Ver detalhes do único aplicativo

Etapa 5: Como gerenciar aplicativos de nó usando PM2 no Linux

9. A seguir, é apresentada uma lista de alguns comandos de gerenciamento de processo comum (ou de todos) que você deve tomar nota de.

$ sudo pm2 pare todos os #stop todos os aplicativos $ sudo pm2 pare 0 #stop processo com id 0 $ sudo pm2 reinicie todos #restart todos os aplicativos $ sudo pm2 redefinir 0 #reset todos os contadores $ sudo pm2 excluir toda #kill e remover todos os aplicativos $ sudo pm2 exclua 1 #kill e exclua aplicativo com id 1 

10. Para gerenciar logs de aplicativos, use os seguintes comandos.

$ sudo pm2 logs #view logs para todos os processos $ sudo pm2 logs 1 #visualização logs para app 1 $ sudo pm2 logs --json #View logs para todos os processos no formato json $ sudo pm2 flush #flush todas as toras 

11. Para gerenciar o processo PM2, use os seguintes comandos.

$ sudo pm2 startup #enable pm2 para começar no sistema inicialização $ sudo pm2 startup systemd #ou especificar explicitamente o sistema como sistema de inicialização $ sudo pm2 salvar #Save Lista de processos atuais na reinicialização $ sudo pm2 instartup #disable pm2 de iniciar no sistema inicialização $ sudo pacote pm2 update #update pm2 

Etapa 6: Acesso Aplicativos do Nó do navegador da web

12. Para acessar todo o seu aplicativo de nó a partir de um navegador da web remoto, primeiro você precisa abrir as seguintes portas no firewall do seu sistema, para permitir conexões de clientes aos aplicativos, como mostrado.

-------- Debian e Ubuntu -------- $ sudo ufw permitir 3000/tcp $ sudo ufw permitir 3001/tcp $ sudo ufw recarregar -------- RHEL e CENTOS -------- # firewall-cmd --permanent --add-port = 3000/tcp # firewall-cmd --permanent --add-port = 3001/tcp # firewall-cmd--reload 

13. Em seguida, acesse seus aplicativos de um navegador da web com estes URLs:

http: // 198.168.43.31: 3000 http: // 198.168.43.31: 3001 
Acesso Aplicativos do Nó do navegador

Por último, mas não menos importante, PM2 é um sistema de módulos simples e embutido para estender seus recursos principais, alguns dos módulos incluem pm2-logrotate, pm2-webshell, pm2-server-monit e muito mais-você também pode criar e usar seus próprios módulos.

Para mais informações, acesse o PM2 Github Repository: https: // github.com/unitech/pm2/.

Isso é tudo! PM2 é um gerente de processo avançado e eficiente em nível de produção para Nó.JS com um balanceador de carga embutido. Neste artigo, mostramos como instalar e usar o PM2 para gerenciar aplicativos NodeJS no Linux. Se você tiver alguma dúvida, envie -as para usar através do formulário de comentário abaixo.