Я не использовал единорога в качестве сервера приложений, но раньше использовал бога для мониторинга.
Если я правильно помню, когда вы запускаете god и даете свой файл конфигурации, он автоматически запускает все, что вы сказали, чтобы посмотреть. Unicorn, вероятно, уже запущен, поэтому выдает ошибку.
Проверьте это, запустив god status
, как только вы начали бога. Если это не так, вы можете проверить в командной строке статус выхода команды:
/usr/local/bin/unicorn_rails -c /home/my-linux-user/my-rails-app/config/unicorn.rb -E production -D;
echo $?;
, что echo напечатает состояние выхода последней команды. Если он равен нулю, последняя команда не сообщила об ошибках. Попробуйте запустить единорога дважды подряд, я ожидаю, что во второй раз он вернет 1, потому что он уже запущен.
EDIT:
включая фактическое решение из комментариев, так как это, кажется, популярный ответ:
Вы можете указать явного пользователя и группу, если ваш процесс требует запуска от имени определенного пользователя.
God.watch do |w|
w.uid = 'root'
w.gid = 'root'
# remainder of config
end