2

Nginx と Thin を使用して Rails アプリケーションを VDS にデプロイしました。Thin の起動を妨げるデフォルトで作成しない原因を追加shared_children.push "tmp/sockets"する必要がありました。deploy.rbcap deploy:setuptmp/sockets

これにより、ディレクトリにshared_children.push "tmp/sockets"作成されます。socketsdeploy_to/shared

Nginx ワーカー プロセスはnginxユーザーに代わって実行されますshared/socketsが、 770のアクセス許可とapp1.deployers所有者がいます。これが、ソケット ファイル自体に777のアクセス許可があるにもかかわらず、nginx がソケット ファイルを読み書きできない理由です。

1.共有/ソケットのパーミッションを 777 に変更するか、nginx ユーザーを deployers グループに追加するか、nginx ユーザーの代わりに Thin をデプロイして実行するのが良いですか?

nginx ユーザーではなく、アプリごとに別のユーザーに代わって各アプリケーションを実行したいと思います。2. それは実際に理にかなっていますか?

ps

また、共有/ソケットの権限が正しくないために、誰かが /var/log/nginx/errors.log で権限拒否エラーを取得するという言及は見つかりませんでした。とてもシンプルで基本的なものが恋しいと思います。

同じサーバーにデプロイされているアプリケーションの数に関係なく、nginx または www-data ユーザーに代わってデプロイしているのかもしれません。

4

0 に答える 0