いつもお世話になっております。
現在railsでwebページを作成しております。
「rails s --environment production」コマンドでproduction環境でサーバーを動かしています。
その際に問題なく動いた「File.unlink」「File.open」メソッドが
「rails s -d -b 0.0.0.0 --environment production」で動かなくなってしまいました。
こちらに一度質問したところ、通常のユーザーとして動く場合とデーモンになる場合で実行ユーザーが違う可能性があり、その場合におけるファイルへのアクセス権の違いではないかとご回答をいただきました。
そこで質問なのですが「rails s --environment production」と「rails s -d -b 0.0.0.0 --environment production」で実行した場合に、どのユーザーなのかをどのように判定すればよいのでしょうか。
ps -ef | grep pumaで見た際にどちらも「Rails」ユーザーとでてきてしまいました(この見方が間違いであればご指摘ください)。
適切な方法についてご教示いただけますと幸いです。
ご教示いただけますと幸いです。
よろしくお願いいたします。
環境
Amazon EC2
Linux
Ruby
1 2以下のメソッドが 3「rails s --environment production」でサーバーを立てた際には動くが 4「rails s -d -b 0.0.0.0 --environment production」で立てると動かない 5 6 7File.unlink("public/uploads/#{params[:xxx]}/#{yyy}") 8File.open("public/uploads/#{params[:xxx]}/#{params[:zzz].original_filename}", 'wb') { |f| f.write(params[:zzz].read) } 9 10 11追記 12begin 13 File.unlink("public/uploads/#{params[:xxx]}/#{yyy}") 14rescue => error 15 p error 16end 17 18error内容 19No such file or directory @ unlink_internal 20
あなたの回答
tips
プレビュー