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

Как мне запустить unicorn_rails в качестве сценария запуска с установленным rvm на моем компьютере с Ubuntu 12.04?

У меня на сервере есть приложение 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 следует этому примеру.