Монит не может запустить команду для запуска сервера Голиаф

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

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

Мой сервер будет запускаться просто отлично, но когда его на monitrc, вот так:

start program = "/ 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] информация: ' начало Голиафа: / bin / bash

1 ответ

Вам может потребоваться указать 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
Другие вопросы по тегам