yikegaya’s blog

仕事関連(Webエンジニア)と資産運用について書いてます

NginxでCSS、JSが反映されない時の対応メモ

NginxでWebページを公開する際にCSS、JSが反映されず対応した時の備忘録です。

キャッシュをoffにする

古いページがキャッシュされている場合があるのでブラウザのキャッシュをoffにするのと、設定ファイル(nginx.conf)に以下の設定を追加してnginxのキャッシュをoffにすると直る場合があるらしい。が、今回は試しても解決せず。

# serverディレクティブ内に追記
server {
      sendfile off;
}

nginx.confにrootを指定する。

app/public/assets内に対象のCSSがある場合

HTMLのリンクが以下の形だとして

<link rel="stylesheet" href="/assets/sample.css">

この場合nginxに以下追記すると読み込まれるらしいが、パスは問題なさそうでこれでも解決せず。

root /app/public;

# もしくは

location ~ ^/assets/ {
   root   /app/public;
}

nginxのサーバには以下のように配置

/app/public/assets/sample.css

mime.types、octet-streamの設定をnginx.confに追加

以下の設定追加しないとMIME Typeを拡張子から判定できずエラーになるみたいです。結局これで今回直りました

  include /etc/nginx/mime.types; 
  default_type application/octet-stream;

参考

qiita.com qiita.com qiita.com