为什么RVM系统范围广?

Pra*_*oya 9 ruby apache deployment rvm

我已经设置了一个rails生产环境:
*用户名下的rails应用程序.
*部署用户只是没有sudo权限的普通用户.
*部署用户使用自己的沙箱rvm(无系统范围),因此任何ruby都只在部署用户下.
*运行apache的用户无法访问ruby环境,因为apache不需要ruby,所以不需要访问权限.
*部署用户运行独角兽群集.

这个rvm非系统范围的配置对我很有用.我看到的优点是:
*每次安装宝石时我都不需要使用sudo.
*Ruby是沙盒装,仅供部署用户使用,因此通过最小化提高了系统的安全性.Apache不关心ruby,因此它无法访问它!

我看到的唯一缺点是我们不能使用乘客apache模块或乘客nginx模块,但随后乘客独立来救援!

我的问题: 为什么互联网上的每个人都倾向于使用RVM系统范围的安装?我找不到一篇关于RVM在生产中以非sudo模式使用的帖子.我错过了最关键的一块吗?我想知道生产中非sudo rvm安装的不太好.

谢谢!

And*_*oni 15

我总是为部署做一种混合:

  • 我安装了RVM系统(但它仅适用于rvm组中的用户)
  • 我创建了一个专用用户,它是各种组的一部分:rvm,db(mysql,postgres,或者你使用的任何东西),nginx等......

这样你就可以:

  • 在不使用sudo或root的情况下完成所有与Web相关的管理任务
  • 使用capistrano而无需担心特权或ruby命令的运行
  • 保持对权限的控制,并从任何地方使用ruby
  • 完美地使用捆绑器

如果您在特定用户下安装RVM,则不能在该用户之外使用ruby.