質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

221閲覧

本番環境(AWS)での写真S3に保存されない。表示されない。

MISIAN-MISIAN

総合スコア73

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2020/01/09 05:46

編集2020/01/09 06:27

本番環境で投稿した写真がS3のバケットに保存されない

ローカルで自動デプロイの際下記コマンド打った際エラーは出てなく原因がわからない状態です。
$ bundle exec cap production deploy

リモートターミナルでNginxの再起動やってみました。
Nginxは問題ありませんでした。

Unicornの再起動して
kill しようとしたらできませんでした。
なのでターミナルの履歴で以前unicorn killした際のコードをみてみたところ
下記の表記でした。

リモートターミナル [ec2-user@ip-172-31-33-149 shooting-spot-share]$ ps aux | grep unicorn ec2-user 15192 1.8 8.5 339068 86572 ? Sl 10:40 0:01 unicorn_rails master -c config/unicorn.rb -E production -D ec2-user 15195 0.0 7.9 339068 80140 ? Sl 10:40 0:00 unicorn_rails worker[0] -c config/unicorn.rb -E production -D ec2-user 15599 0.0 0.2 110520 2172 pts/1 S+ 10:42 0:00 grep --color=auto unicorn

$ ps aux |grep unicorn 
コマンド打った際
現在killできない状況の表記
production -Dからdeployment -Dに変わっている
ここ問題あるのでしょうか?

リモートターミナル [ec2-user@ip-172-31-33-149 shooting-spot-share]$ ps aux |grep unicorn ec2-user 14946 0.0 0.2 110520 2188 pts/2 S+ 05:10 0:00 grep --color=auto unicorn ec2-user 28803 0.0 8.5 338784 86360 ? Sl Jan06 0:02 unicorn master -c /var/www/shooting-spot-share/current/config/unicorn.rb -E deployment -D ec2-user 28850 0.0 8.3 547244 84784 ? Sl Jan06 0:02 unicorn worker[0] -c /var/www/shooting-spot-share/current/config/unicorn.rb -E deployment -D

s3使う際に追加したコードが下記です。

初めはset :linked_files, %w{ config/secrets.yml }の記載が抜けていて
$ bundle exec cap production deployの際にエラーが出ていました
けれどブラウザには画像は表示されていました(S3バケットには保存されてない)

そしてset :linked_files, %w{ config/secrets.yml }追記したところ
$ bundle exec cap production deployの際にエラーは出なくなりました。
しかし、ブラウザに画像表示されなくなりました(S3バケット保存されてない)

deploy.rbの記載はあっていると思います。

ファイル名deploy.rb # config valid only for current version of Capistrano # capistranoのバージョンを記載。固定のバージョンを利用し続け、バージョン変更によるトラブルを防止する lock '3.11.2' # Capistranoのログの表示に利用する set :application, 'shooting-spot-share' # どのリポジトリからアプリをpullするかを指定する set :repo_url, 'git@github.com:MISIAN-MISIAN/shooting-spot-share.git' # バージョンが変わっても共通で参照するディレクトリを指定 set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads') set :rbenv_type, :user set :rbenv_ruby, '2.5.1' #カリキュラム通りに進めた場合、2.5.1か2.3.1です # どの公開鍵を利用してデプロイするか set :ssh_options, auth_methods: ['publickey'], keys: ['~/.ssh/myhomepage.pem'] # プロセス番号を記載したファイルの場所 set :unicorn_pid, -> { "#{shared_path}/tmp/pids/unicorn.pid" } # Unicornの設定ファイルの場所 set :unicorn_config_path, -> { "#{current_path}/config/unicorn.rb" } set :keep_releases, 5 # secrets.yml用のシンボリックリンクを追加 set :linked_files, %w{ config/secrets.yml } # デプロイ処理が終わった後、Unicornを再起動するための記述 after 'deploy:publishing', 'deploy:restart' namespace :deploy do task :restart do invoke 'unicorn:restart' end desc 'upload secrets.yml' task :upload do on roles(:app) do |host| if test "[ ! -d #{shared_path}/config ]" execute "mkdir -p #{shared_path}/config" end upload!('config/secrets.yml', "#{shared_path}/config/secrets.yml") end end before :starting, 'deploy:upload' after :finishing, 'deploy:cleanup' end

やはりunicornのエラーログみて見ると下記にエラー発生していました。
しかし何が悪いのかわかりません
ご教授お願いします。

ターミナルunicorn.stderr.log t found (Bundler::GemfileNotFound) from /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler.rb:135:in `definition' from /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler.rb:101:in `setup' from /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/setup.rb:20:in `<top (required)>' from /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' from /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' E, [2020-01-09T06:22:34.411457 #28803] ERROR -- : reaped #<Process::Status: pid 19983 exit 1> exec()-ed

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

unicorn
kill 28803
kill 28850

したらうまくいきました。

ec2-user 28803 0.0 8.5 338784 86360 ? Sl Jan06 0:02 unicorn master -c /var/www/shooting-spot-share/current/config/unicorn.rb -E deployment -D ec2-user 28850 0.0 8.3 547244 84784 ? Sl Jan06 0:02 unicorn worker[0] -c /var/www/shooting-spot-share/current/config/unicorn.rb -E deployment -D

投稿2020/01/09 08:43

MISIAN-MISIAN

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問