У меня на сервере есть приложение rails. У меня есть сценарий startup.sh, который запускает unicorn_rails, а затем nginx.
Чтобы мой сервер запускался при загрузке системы, я добавил строку для вызова моего сценария запуска в /etc/rc.local
Однако это не работает. Я добавил несколько проверок, чтобы убедиться, что скрипт вызывается, и это так. Это вызов unicorn_rails, который, я думаю, не работает. У кого-нибудь есть опыт с этим?
Оказалось, что это проблема с правами пользователя. Unicorn, ruby и rails были установлены в качестве моего обычного входа в систему, пока скрипт запускался как пользователь root. Это создало проблемы с тем, что установленные драгоценные камни не были видны пользователю root. Я решил проблему, вызвав второй сценарий с «su» в качестве обычного пользователя без полномочий root.
Я столкнулся с той же проблемой, и я смог решить свою проблему, создав сценарий init.d для unicorn_rails и затем включив его при запуске с помощью chkconfig.
chmod +x /etc/init.d/unicorn
chkconfig unicorn on
Пример скрипта unicorn_rails init.d. https://github.com/wayneeseguin/rvm/blob/master/contrib/unicorn_init.sh
Единственное серьезное изменение, которое я внес в свой сценарий, - это добавление вызовов службы nginx в блоки действий. Таким образом, когда вы запускаете / останавливаете / перезапускаете или запускаете статус на unicorn_rails, nginx следует этому примеру.