PleskのNginxで静的ファイルがexpiresされない現象を改善
こんにちは、ぷれつくの運営すしぱくです。
Webサイトの高速化(最適化)は誰でも目指していきたい目標です。特に画像のキャッシュが行える expires の設定は、リクエスト数やトラフックによる負荷軽減につながる重要な事項なので抑えておきたいところ。今回、Pleskの追加ディレクティブ設定に exires の設定をおこなっていたのに、突然キャッシュされていない事態となりました。(Pleskのバージョンは12.5)
GTmetrix の結果
https://gtmetrix.com/
GoogleのPageSpeedInsights だと
https://developers.google.com/speed/pagespeed
このような結果です。有効期限(キャッシュ)されていない状態・・・
Nginxの追加ディレクティブを使って conf の設定をしよう|Plesk入門・サーバー運用サイトぷれつく
追加ディレクティブには記述しているのにおかしい・・・と困り果てまして、Sさんに相談をしたところ、「Plesk(Nginx)の静的ファイルの処理が適用されている為、他のルールが効かなくなってしまった」との助言をいただき解決しましたので共有いたします。
PleskのNginx設定はクセがあるので注意しよう
今回参考にさせていただいたWebサイトはこちらです。
nginx連載5回目: nginxの設定、その3 - locationディレクティブ - インフラエンジニアway - Powered by HEARTBEATS
ありがとうございます。
さて、PleskのNginxの設定には、
静的ファイルをnginxで直接処理という項目があります。ここに静的ファイルの拡張子を追記/削除することができます。jpeg jpg の記述を例にしていきましょう。
通常であれば、追加ディレクティブの項目に
このような記述を行います。しかし、記述しても30日間のキャッシュは適用されません。理由は、上記の nginx で直接処理 という項目にjpeg jpg の含まれていたからです。適用させるには、jpeg jpg の記述を削除し適用させる必要があります。
他にもcss や json などの記述も同上に行う必要があります。
結構はまっている人が多いので、是非上記の削除をしてみてください。