単一のマシンで実行されている Rails サーバーをマルチマシン構成 (VPC Loadbalancer の後ろに 2 人の乗客、1 つの mongo/redis) に移行しました。しかし、スタンドアロンの乗客は次のエラーをスローしています。これに対する提案された解決策
[ pid=844 thr=11555480 file=utils.rb:176 time=2012-08-15 13:19:50.538 ]: *** Exception Errno::EACCES in application (Permission denied - /tmp/passenger.1.0.747/generation- 0/backends/ruby.CmC4pRejK75qNudAHhowIO0Z80iJELkiZcQMxRtxnZCOsxXeVv9Jx0xwt) (process 844, thread #<Thread:0x0000000160a530>):
from /var/lib/passenger-standalone/3.0.13-x86_64-ruby1.9.2-linux-gcc4.6.3-1002/support/lib/phusion_passenger/abstract_request_handler.rb:392:in `initialize'
from /var/lib/passenger-standalone/3.0.13-x86_64-ruby1.9.2-linux-gcc4.6.3-1002/support/lib/phusion_passenger/abstract_request_handler.rb:392:in `new'
from /var/lib/passenger-standalone/3.0.13-x86_64-ruby1.9.2-linux-gcc4.6.3-1002/support/lib/phusion_passenger/abstract_request_handler.rb:392:in `create_unix_socket_on_filesystem'
from /var/lib/passenger-standalone/3.0.13-x86_64-ruby1.9.2-linux-gcc4.6.3-1002/support/lib/phusion_passenger/abstract_request_handler.rb:174:in `initialize'
from /var/lib/passenger-standalone/3.0.13-x86_64-ruby1.9.2-linux-gcc4.6.3-1002/support/lib/phusion_passenger/rack/request_handler.rb:61:in `initialize'
掘り下げると、私の production.rb は、 /tmp/passenger.1.0.747/generation-0/backends/ruby への書き込みアクセス権を持たない非ルート 'ubuntu' によって所有されています。
進行しましたが、まだそれを修正する方法がわかりません。
回避策: 問題は、capistrano デプロイ + 非 root としてのパッセンジャー デプロイが、これらすべてのフォルダー権限の問題を引き起こすことでした。回避するには、ルート展開に戻す必要がありました