月份: 2014-04

关于布署 Nginx + Passenger 的ROR 环境中的权限问题

最近布署ROR环境时,遇到了各种permission denied 的错误。原因是 rvm 被安装到了/root 下,进而导致ruby 的 gem 包被安装至了root 目录下 。
而 passenger 在反向代理的时候,默认会以 nobody 为用户名 启动一个ruby 解释 进程,在使用部分gem 时,会调用到 /root 下面的 gem ,因而导致权限不足无法访问。即使把对应的gem 或文件夹 chmod -R 至 777 也会因为 gem 之间的相互引用 而导致权限不足。
最终的解决方案就是,千万不要把 rvm 装在 root 下面。