Добрый день!
Подскажите, пожалуйста, как правильно запускать сервис на базе Mojo::Base 'Mojolicious'
с помощью hypnotoad.
Подготовил такой Unit-файл для Debian 10:
[Unit]
Description=FFront App
After=
network.targetAfter=mysql.service
Requires=mysql.service
[Service]
Type=simple
PIDFile=/home/xbox8/data/www/folm_front/
hypnotoad.pidUser=xbox8
Group=xbox8
ExecStart=/usr/local/bin/hypnotoad /home/xbox8/data/www/folm_front/script/f_front
ExecReload=/usr/local/bin/hypnotoad /home/xbox8/data/www/folm_front/script/f_front
#ExecStop=/usr/local/bin/hypnotoad -s /home/xbox8/data/www/folm_front/script/f_front
KillMode=process
Restart=always
[Install]
WantedBy=
multi-user.targetЭтот файл я сделал по инструкции
https://docs.mojolicious.org/Mojolicious/Guides/Cookbook#HypnotoadКогда указываю Type=simple, команда systemctl запускает и останавливает сервис, однако процессы Mojolicious (их 8) не завершаются.
Приходится вручную выдавать команду hypnotoad -s /home/xbox8/data/www/folm_front/script/f_front
Если снять комментарий с ExecStop, то сервис циклически останавливается и перезапускается.
А если указываю Type=forking, то сервис запускается и работает, но команда systemctl start f_front.service подвисает,
и если подождать, выдает:
Job for folm_front.service failed because a timeout was exceeded.
Ошибка такая:
f_front.service: PID file /home/xbox8/data/www/f_front/
hypnotoad.pid not readable (yet?) after start: No such file or directory
Файла
hypnotoad.pid в указанном месте действительно нет.
Подскажите, пожалуйста, в чем может быть проблема?
Спасибо!