Gerenciando processos do Umami com Supervisor

4 min

language: ja bn en es hi pt ru zh-cn zh-tw

Olá, sou um incompetente.
Embora o oficial do Umami recomende o gerenciamento de processos com pm2, gostaria de usar o Supervisor, que é mais simples e existe há muito tempo, para gerenciar os processos do Umami.

O que é o Supervisor

É possível demonizar processos e configurar facilmente arquivos de log em caso de falha usando *.conf.
Parece que o desenvolvimento havia parado por um tempo, mas com o movimento Systemd Free, ele ganhou um pouco de força novamente, e é possível demonizar e gerenciar processos que originalmente rodavam com outros init usando Supervisor.

Como já está instalado, vou omitir o método de instalação.

Configuração

Crie um arquivo de configuração como umami.conf.

sudo vim /etc/supervisor/conf.d/umami.conf

Eu escrevi o seguinte:

  
[program`umami]  
command=npm start  
directory=/var/www/html/umami         ; Diretório da aplicação  
autostart=true                        ; Inicia o processo automaticamente na inicialização do servidor  
autorestart=true                      ; Reinicia automaticamente se o processo terminar  
stderr_logfile=/var/log/umami.err.log ; Local do arquivo de log de erro padrão  
stderr_logfile_maxbytes=1MB           ; Tamanho máximo do arquivo de log  
stdout_logfile=/var/log/umami.out.log ; Local do arquivo de log de saída padrão  
stdout_logfile_maxbytes=1MB           ; Tamanho máximo do arquivo de log  
environment=DATABASE_URL="YourDB",APP_SECRET="YourSecret",PORT="YourPort",HOSTNAME="YourHost" ;  
user=test_user                          ; Usuário para executar  

É tarde demais, mas eu deveria ter colocado em /var/www/umami...

Execução

sudo supervisorctl reread  
sudo supervisorctl update  
sudo supervisorctl start umami  
sudo supervisorctl status umami

Então,

umami                            RUNNING   pid 801, uptime 0`19`12

Se essa mensagem for exibida, significa que está funcionando normalmente. Se falhar,

view /var/log/umami.err.log  
view /var/log/umami.out.log

vamos verificar a causa pela qual não pode ser iniciado.

Supervisor é bom

É muito bom porque permite um gerenciamento fácil apenas com arquivos *.conf.
Dito isso, pm2 também exibe o uso de memória, mas estou preocupado com as futuras dependências de bibliotecas em torno do npm, então pessoalmente prefiro algo tão simples quanto o supervisord.
E porque não vejo a necessidade de rodar o gerenciamento de processos em um ambiente JavaScript. Até a próxima.
Obrigado.

Related Posts