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