Назад | Перейти на главную страницу

monit не может запустить команду для запуска сервера goliath

может кто-нибудь пролить некоторые подсказки относительно того, почему, когда я запускаю эту команду вручную на терминале:

/ bin / bash -c 'cd / home / david / live && bundle exec ruby ​​/home/david/live/api/goliath.rb -sv -e prod'

он просто запустит мой сервер, но когда он на monitrc вот так:

запустить программу = "/ bin / bash -c 'cd / home / david / live && bundle exec ruby ​​/home/david/live/api/goliath.rb -sv -e prod'"

он просто будет неоднократно не запускать / выполнять эту командную строку

[UTC 17 сентября 01:00:25] ошибка: процесс 'goliath' не запущен [UTC 17 сентября 01:00:25] информация: 'goliath' пытается перезапустить [UTC 17 сентября 01:00:25] информация: ' начало goliath: / bin / bash

Вам может потребоваться указать UID и GID, поскольку monit запускается от имени пользователя root.

check process myserver 
  with pidfile "/home/path/to/myserver.pid"
  start program = "/bin/bash -c 'cd /home/david/live && bundle exec ruby /home/david/live/api/goliath.rb -sv -e prod'"
    as uid myserver_uid and gid myserver_gid

Для отладки вы можете попытаться вывести в файл и проверить этот файл, чтобы получить более подробную информацию.

check process myserver 
  with pidfile "/home/path/to/myserver.pid"
  start program = "/bin/bash -c 'cd /home/david/live && bundle exec ruby /home/david/live/api/goliath.rb -sv -e prod' >> /tmp/myserver.log 2>&1"
    as uid myserver_uid and gid myserver_gid