我已经在Ubuntu(亚马逊EC2)上创建了一个Nginx / unicorn / capistrato设置,主要是跟随
this guide.我想一切都设置得像应该但是当我启动Unicorn时,我在日志中得到(很多)这个错误:
E,[2012-09-08T08:57:20.658092 #12356] ERROR -- : Operation not permitted (Errno::EPERM) /home/deployer/apps/bridgekalenderen.no/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/worker.rb:82:in `initgroups'
我看到它与用户的权限有关,但我无法弄清楚我遗漏了什么.如果我用sudo(或者,rvmsudo,真的)启动它,服务器启动很好.
用户有sudo功能,我已经多次chmod了应用程序,所以那里的文件权限应该没问题. / tmp中的unicorn套接字由部署者用户拥有,因此也不应该是问题.
有人知道在哪里看?
更新:
经过一番挖掘后,我发现它归结为对Process.initgroups的调用,它抛出了EPERM.我在irb中验证了这一点.我无法弄清楚导致错误的原因.用户可以阅读/ etc / group.