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

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

新規登録して質問してみよう
ただいま回答率
85.35%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

AWS(Amazon Web Services)

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1257閲覧

本番環境(AWS)CSSを反映させたい

eita-eng

総合スコア3

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

AWS(Amazon Web Services)

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/04/08 16:12

編集2021/04/09 05:08

前提・実現したいこと

本番環境(AWS)にてCSSを反映させたいのですが、反映されていない状態です。
Herokuへもデプロイを行っているのですが、こちらは正常にCSSが反映されているため、Nginxの設定やunicorn.rbに問題があるように感じておりますが、解決に至っておりません。

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

/etc/nginx/conf.d/rails.conf

※省略※ # 接続が来た際のrootディレクトリ root /var/www/powu_v1.0.0/public; # assetsファイル(CSSやJavaScriptのファイルなど)にアクセスが来た際に適用される設定 location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; root /var/www/powu_v1.0.0/public; } ※省略※

unicorn.rb

Ruby

1#サーバ上でのアプリケーションコードが設置されているディレクトリを変数に入れておく 2app_path = File.expand_path('../../', __FILE__) 3 4#アプリケーションサーバの性能を決定する 5worker_processes 1 6 7#アプリケーションの設置されているディレクトリを指定 8working_directory app_path 9 10#Unicornの起動に必要なファイルの設置場所を指定 11pid "#{app_path}/tmp/pids/unicorn.pid" 12 13#ポート番号を指定 14listen "#{app_path}/tmp/sockets/unicorn.sock" 15 16#エラーのログを記録するファイルを指定 17stderr_path "#{app_path}/log/unicorn.stderr.log" 18 19#通常のログを記録するファイルを指定 20stdout_path "#{app_path}/log/unicorn.stdout.log" 21 22#Railsアプリケーションの応答を待つ上限時間を設定 23timeout 60 24 25#以下は応用的な設定なので説明は割愛 26 27preload_app true 28GC.respond_to?(:copy_on_write_friendly=) && GC.copy_on_write_friendly = true 29 30check_client_connection false 31 32run_once = true 33 34before_fork do |server, worker| 35 defined?(ActiveRecord::Base) && 36 ActiveRecord::Base.connection.disconnect! 37 38 if run_once 39 run_once = false # prevent from firing again 40 end 41 42 old_pid = "#{server.config[:pid]}.oldbin" 43 if File.exist?(old_pid) && server.pid != old_pid 44 begin 45 sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU 46 Process.kill(sig, File.read(old_pid).to_i) 47 rescue Errno::ENOENT, Errno::ESRCH => e 48 logger.error e 49 end 50 end 51end 52 53after_fork do |_server, _worker| 54 defined?(ActiveRecord::Base) && ActiveRecord::Base.establish_connection 55end

app/assets/stylesheets/spplication.scss

/* * This is a manifest file that'll be compiled into application.css, which will include all the files * listed below. * * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's * vendor/assets/stylesheets directory can be referenced here using a relative path. * * You're free to add application-wide styles to this file and they'll appear at the bottom of the * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS * files in this directory. Styles in this file should be added after the last require_* statement. * It is generally better to create a new file per style scope. * *= require simple_calendar */ @import "bootstrap"; @import "user.css"; @import "nav.css"; @import "department/department.index.css"; @import "department/department.new.css"; @import "events.css"; @import "simple_calendar.scss"; @import "reset.css"; * { box-sizing: border-box; } // ローディング画面 #overlay{ position: fixed; top: 0; z-index: 100; width: 100%; height:100%; display: none; background: rgba(0,0,0,0.6); } .cv-spinner { height: 100%; display: flex; justify-content: center; align-items: center; } .spinner { width: 40px; height: 40px; border: 4px #ddd solid; border-top: 4px #2e93e6 solid; border-radius: 50%; animation: sp-anime 0.8s infinite linear; } @keyframes sp-anime { 100% { transform: rotate(360deg); } } .is-hide{ display:none; }

試したこと

https://qiita.com/KONTA2019/items/2a519f18b204dea9a771
上記のURLを参考に修正を加えておりましたが、解決に至りませんでした。
エラーから、CSSファイルが読み込めていないので正しく設定してあげれば解決出来そうではあるのですが、解決法が分からず、ご教授頂けると幸いです...

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

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

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

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

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

AbeTakashi

2021/04/09 01:28

AWSのnginxのアクセスログやエラーログ、もしくはフレームワーク側のログは確認しましたか? どちらかが404返ってきてるので、何かしらのログが出ているはずです。 こちらを見ても原因が分からないのであれば、そのログの情報を質問文に追記していただければ、正しい回答が出てくるかもしれません。
eita-eng

2021/04/09 01:45 編集

ご指摘ありがとうございます。 原因を特定できなかったため、ログを記載させて頂きました。
AbeTakashi

2021/04/09 02:20

ログを見るに /var/www/powu_v1.0.0/public/assets/ 以下のファイルが存在しないとなっていますね。nginxの設定の location ^~ /assets/ 以下がおそらく間違っているのだと思います。この設定が効いてないのか、効いてはいるけど中の設定が間違っているかはこれだけの情報では読み取れません。実際のcssファイルが存在するディレクトリのフルパスを確認しつつ、この辺を調整しながらnginx再起動して都度ログを見ながら確認してみてはどうでしょう。
eita-eng

2021/04/09 06:41

ご返信ありがとうございます。 先程ログを確認しながらパス関連の修正を繰り返しておりましたが、解決に至っておりません。 パスに関してですが色々試した結果、ブラウザの検証画面を確認した所、現在のパスが唯一ファイルまで辿り着いてはおり、中身だけ空の状態の様な形です。しかし、これは@importが正しく読み込まれていないような状態なのでしょうか? 調べている中でapplication.scssが問題の様な感じがしております。(下記の記事を見て、プリコンパイルの対象関連というところでscssは対象ではないのでしょうか?) https://qiita.com/metheglin/items/c5c756246b7afbd34ae2 複数質問申し訳ございません。
eita-eng

2021/04/09 08:07

度々の質問失礼致しました。 無事解決に至りました!ご教授有難う御座いました!
guest

回答1

0

自己解決

@import "user.css"; @import "nav.css";

上記の記述を、

*= require user *= require nav

のように記述した所、読み込むようになりました!

投稿2021/04/09 08:06

eita-eng

総合スコア3

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問