0

単一のマシンで実行されている 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 としてのパッセンジャー デプロイが、これらすべてのフォルダー権限の問題を引き起こすことでした。回避するには、ルート展開に戻す必要がありました

4

2 に答える 2

0

問題は、capistrano+スタンドアロンの乗客を介した非ルート展開でした。回避策:capistranoを介したルート展開を使用しました。これにより、フォルダーの問題が解決されました。

于 2012-08-17T04:34:53.023 に答える
0

ruby.processd ファイルを含むフォルダーのアクセス許可を変更する必要がある可能性があります。

于 2012-08-15T18:20:10.267 に答える