Я настроил производственную среду для рельсов с:
* Приложения rails под пользователем с именем deploy.
* Пользователь развертывания - это обычный пользователь, НЕ имеющий разрешений sudo.
* Пользователь развертывания использует свой собственный rvm в песочнице (не для всей системы), поэтому все, что ruby находится только под пользователем развертывания.
* Пользователь, который запускает apache, не имеет доступа к среде ruby, и ему не требуется доступ, поскольку apache не требуется ruby.
* Пользователь развертывания запускает кластер единорога.
Эта несистемная конфигурация rvm прекрасно работает для меня. Я вижу следующие преимущества:
* Мне не нужно использовать sudo каждый раз, когда я устанавливаю гем.
* Ruby находится в «песочнице» и доступен только для пользователя развертывания, что повышает безопасность системы путем минимизации. Apache не заботится о ruby, поэтому он не получает к нему доступ!
Единственный недостаток, который я вижу, это то, что мы не можем использовать пассажирский-apache-модуль или пассажирский-nginx-модули, но тогда на помощь приходит отдельный пассажир!
Мой вопрос:
Почему все в Интернете склонны использовать общесистемную установку RVM?
Я не смог найти ни одного поста об использовании RVM в режиме non-sudo в производстве.
Я скучаю по самой важной части здесь? Я хочу знать, что не так хорошо в установке non-sudo rvm на производстве.
Спасибо!