Управление процессами Umami с помощью Supervisor

4 min

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

Здравствуйте, я бездарь.
Хотя официальный Umami рекомендует управление процессами с помощью pm2, я хотел бы использовать более простой и давно существующий Supervisor для управления процессами Umami.

Что такое Supervisor

Он позволяет легко демонизировать процессы и настраивать файлы журналов в случае сбоя с помощью *.conf.
Казалось, что разработка на некоторое время остановилась, но благодаря движению Systemd Free он снова набрал популярность, и теперь можно демонизировать и управлять процессами, которые изначально работали с другими init, с помощью Supervisor.

Поскольку он уже установлен, я пропущу описание процесса установки.

Настройка

Создайте файл конфигурации как umami.conf.

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

Я написал следующее:

  
[program`umami]  
command=npm start  
directory=/var/www/html/umami         ; Каталог приложения  
autostart=true                        ; Автоматически запускать процесс при старте сервера  
autorestart=true                      ; Автоматически перезапускать процесс, если он завершился  
stderr_logfile=/var/log/umami.err.log ; Местоположение файла журнала стандартных ошибок  
stderr_logfile_maxbytes=1MB           ; Максимальный размер файла журнала  
stdout_logfile=/var/log/umami.out.log ; Местоположение файла журнала стандартного вывода  
stdout_logfile_maxbytes=1MB           ; Максимальный размер файла журнала  
environment=DATABASE_URL="YourDB",APP_SECRET="YourSecret",PORT="YourPort",HOSTNAME="YourHost" ;  
user=test_user                          ; Пользователь для выполнения  

Кстати, сейчас уже поздно, но изначально я должен был разместить его в /var/www/umami...

Выполнение

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

Если вы это сделаете,

umami                            RUNNING   pid 801, uptime 0`19`12

Если отображается это, значит, он работает нормально. Если же он не запустился,

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

проверьте причину, по которой он не запускается.

Supervisor — это хорошо

Очень хорошо, что им можно легко управлять только с помощью файлов *.conf.
Хотя pm2 также показывает использование памяти, я предпочитаю что-то такое же простое, как supervisord, потому что я беспокоюсь о будущих зависимостях библиотек, связанных с npm.
Кроме того, я не вижу необходимости запускать управление процессами в среде JavaScript. До скорого.
Всего наилучшего.

Related Posts