EC2への手動デプロイ時にCSS及び画像が表示されません
Railsで開発環境からAWSへデプロイする作業を進めていたところ、手動デプロイをして確認したら画像とCSSが表示されなくなってしまいました。
同じようなエラーで悩まれている方が多かったようで検索すると記事もいくつか出てくるのですが、どれを試しても効果がありませんでした。
以前に別のアプリケーションをデプロイしたときは問題なく表示されており、うまくいったほうのアプリケーションのコードとも見比べましたが差異が確認できませんでした。
どなたかご教示頂けますでしょうか。
初めての質問なので足りていない情報などありましたら大変お手数ですがご指摘下さい。
宜しくお願いいたします。
補足情報(FW/ツールのバージョンなど)
AWS: EC2/S3
DB: Maria DB
アプリケーションサーバー: Unicorn
webサーバー: Nginx
発生している問題・エラーメッセージ
ログを確認すると
terminal
1# EC2内で実行 2$ tail -n 30 production.log 3 4I, [2021-02-19T11:48:47.092118 #8670] INFO -- : [952994f8-7137-40a8-be8f-2f20289521b9] Completed 200 OK in 925ms (Views: 920.4ms | ActiveRecord: 1.8ms | Allocations: 1375318) 5I, [2021-02-19T11:48:47.242416 #8670] INFO -- : [a5201a8b-54b3-4f75-8cb9-319addbbea90] Started GET "/1.jpeg" for 180.197.230.54 at 2021-02-19 11:48:47 +0000 6F, [2021-02-19T11:48:47.243138 #8670] FATAL -- : [a5201a8b-54b3-4f75-8cb9-319addbbea90] 7[a5201a8b-54b3-4f75-8cb9-319addbbea90] ActionController::RoutingError (No route matches [GET] "/1.jpeg"): 8[a5201a8b-54b3-4f75-8cb9-319addbbea90] 9 10以下略
app/views/index.html.erb
index.html.erb
1 2<%= image_tag '/1.jpeg', class: 'img-fluid', alt: 'Responsive image' %> 3 4#下記に変更してもダメでした 5<%= link_to image_tag("/1.jpeg", class: 'img-fluid', alt: 'Responsive image') %>
config/environments/development.rb
development.rb
1# trueからfalseに変更 2config.assets.debug = false
config/environments/production.rb
production.rb
1# falseからtrueに変更 2config.assets.compile = true 3
試したこと
assets配下に配置してある画像の場所が悪い可能性があるとの情報を見つけたので、
public/images
配下にファイルを移動してみたところ変化なしでした。
terminal
1# EC2内で実行 2$ rails assets:precompile RAILS_ENV=production 3 4# ⬇️プロセスをkill 5$ ps aux | grep unicorn 6 7# Maria DBの確認 8$ sudo systemctl status mariadb 9 10# 再起動 11$ sudo systemctl reload nginx 12 13# アセットを見つけられるように指定 14RAILS_SERVE_STATIC_FILES=1 unicorn_rails -c config/unicorn.rb -E production -D 15 16# ⬇️エラーログを確認してもエラーはありません 17$ less log/unicorn.stderr.log 18 19
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/20 01:32 編集