Монит не может запустить команду для запуска сервера Голиаф
Может кто-нибудь пролить некоторые подсказки о том, почему, когда я запускаю эту команду вручную на терминале:
/ 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