NodeJs com PM2 배포를 위한 준비 서버

20248 단어 pm2nodejavascript
No post anterior foi apresentado como preparar seu servidor http com NGINx.

Obs.: Para continuar nessa postagem de pm2 é obrigatório a leitura e execução dos passos da primeira(Preparar servidor para deploy NodeJs).

Hoje se o servidor reiniciar temos que manualmente subir a aplicação, isso é ruim e trabalhoso para facilitar a nossa vida existe o pacote pm2.

Para mais detalhes sugiro:

Pacote PM2

Executando o PM2 e o Node.js em ambientes de produção

PM2: Como utilizar no NodeJS e funcionalidades secretas

1 – PM2가 필요합니까?

O PM2(Process Manager 2) é um gerenciador de processos automatizados para aplicações NodeJs em ambiente de produção. Nossa aplicação será completamente gerenciada pelo PM2 isso quer dizer:

  • log paraauditia e gerenciamento de erros;
  • automatização de reinicialização e muitas outras vantagens;

  • Nessa postagem vamos nos aentar a initialização automática de processos e logs.

    2 – 설치 pm2

    어떤 터미널도 코만도를 실행하지 않습니다.

    sudo npm install -g pm2
    


    O comando acima vai baixar o pacote pm2 e instalar globalmente para acesso ao comando pm2 no terminal.

    3 – 오후 2시에 서비스를 제공하지 않음

    Para criar o nosso serviço que executar a API que definimos no primeiro post:

    pm2 start dist/server.js --name [INFORMAR_NOME_APLICACAO]
    


    Onde INFORMAR_NOME_APLICACAO* é o nome que devemos informar da nossa aplicação, isso fica mais fácil para identificá-la.
    **api_deploy que se encontra no caminho app/deploy/에 대한 애플리케이션이 없습니다.
    O comando complete pode ser visto abaixo:

    pm2 start app/deploy/dist/server.js --name api_deploy
    


    Ao executar o comando acima para criar um serviço no pm2 referente a nossa aplicação será apresentado uma saída igual à imagem abaixo:


    Na imagem podemos ver as informações:

  • id: Identificado único da nossa aplicação;

  • 이름: Nome que informamos ao criar;

  • pid: Caso precisar matar o processo só executar um kill;

  • 가동 시간: Tempo decorrido da nossa aplicação;

  • 상태: Situação do processo;

  • cpu: CPU 사용에 대한 정보 제공;

  • mem: Memória usada pela nossa aplicação;

  • Para observar a lista de processos outra vez só executar o comando:

    pm2 list
    


    4 – 자동 프로세스 초기화

    Para que nossa aplicação seja reiniciada caso ocorra um restart do servidor, seguem os passos:

    pm2 startup systemd
    


    Primeiramente execute o comando acima, isso irá resultar em uma saída descrita abaixo:

    [PM2] Init System found: systemd
    [PM2] To setup the Startup Script, copy/paste the following command:
    sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u deploy --hp /home/deploy
    


    다음 명령을 실행하기 위한 구성 실행:

    sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u deploy --hp /home/deploy
    


    Para finalizar a adição do serviço na lista de processos do pm2, 실행:

    pm2 save
    


    5 – 로그

    Um coisa muito interessante do pm2 é a possibilidade de verificar os logs gerados por nossa aplicação para isso existe o comando:

    pm2 logs
    


    최고 명령을 참조하십시오:

    deploy@wanderson:~$ pm2 logs
    [TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
    /home/deploy/.pm2/pm2.log last 15 lines:
    PM2 | 2020-09-07T15:40:20: PM2 log: PM2 version : 4.4.1
    PM2 | 2020-09-07T15:40:20: PM2 log: Node.js version : 12.18.3
    PM2 | 2020-09-07T15:40:20: PM2 log: Current arch : x64
    PM2 | 2020-09-07T15:40:20: PM2 log: PM2 home : /home/deploy/.pm2
    PM2 | 2020-09-07T15:40:20: PM2 log: PM2 PID file : /home/deploy/.pm2/pm2.pid
    PM2 | 2020-09-07T15:40:20: PM2 log: RPC socket file : /home/deploy/.pm2/rpc.sock
    PM2 | 2020-09-07T15:40:20: PM2 log: BUS socket file : /home/deploy/.pm2/pub.sock
    PM2 | 2020-09-07T15:40:20: PM2 log: Application log path : /home/deploy/.pm2/logs
    PM2 | 2020-09-07T15:40:20: PM2 log: Worker Interval : 30000
    PM2 | 2020-09-07T15:40:20: PM2 log: Process dump file : /home/deploy/.pm2/dump.pm2
    PM2 | 2020-09-07T15:40:20: PM2 log: Concurrent actions : 2
    PM2 | 2020-09-07T15:40:20: PM2 log: SIGTERM timeout : 1600
    PM2 | 2020-09-07T15:40:20: PM2 log: ===============================================================================
    PM2 | 2020-09-07T15:41:44: PM2 log: App [api_deploy:0] starting in -fork mode-
    PM2 | 2020-09-07T15:41:44: PM2 log: App [api_deploy:0] online
    
    /home/deploy/.pm2/logs/api-deploy-error.log last 15 lines:
    /home/deploy/.pm2/logs/api-deploy-out.log last 15 lines:
    0|api_depl | Server started on port 3333
    


    Porém existe a possibilidade de verifica logs de forma gráfica que é muito mais amigável, para isso 실행:

    pm2 monit
    


    O executar o comando acima será apresentado a saída:

    좋은 웹페이지 즐겨찾기