nginx

nginxでgzip圧縮を有効にする

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
Nginx

先日公開したサイトのスピードチェックをGoogle PageSpeed Insightsで評価すると、「修正が必要:圧縮を有効にする」と表示されました。
画像やスクリプトなどスタティックなファイルをgzip圧縮するとデータ量を削減できてスピードアップしますよーというGoogle様からのありがたいアドバイスです。

PageSpeed Insightsで表示された提案「圧縮を有効にする」

PageSpeed Insightsで表示された提案「圧縮を有効にする」

Google様の仰せの通り、nginxでgzip圧縮を有効にする設定を追加しましょう。
nginxのconfファイルに下記のgzip設定を追加します。

server {
    # 〜〜 省略(いろいろな設定) 〜〜

    gzip                    on;
    gzip_min_length         1024;
    gzip_buffers            4 8k;
    gzip_http_version       1.0;
    gzip_comp_level         2;
    gzip_proxied            any;
    gzip_types              text/plain text/css application/javascript
                            text/xml application/atom+xml application/xml+rss
                            application/json text/json text/javascript+json;
    gzip_disable            "MSIE [1-6].";
    gzip_disable            "Mozilla/4";

    # 〜〜 省略(いろいろな設定) 〜〜
}

gzip_typesに書かれたMIME Typeに対してgzip圧縮が適用されます。(nginxのMIME Type一覧は”/etc/nginx/mime.types”で確認できます。)

ちなみにjsファイルのMINE Typeは、以前は”application/x-javascript”だったんですが、nginx 1.5.4から”application/javascript”に変わっています。

Nginx Changesから抜粋。

Changes with nginx 1.5.4 27 Aug 2013

*) Change: the “js” extension MIME type has been changed to “application/javascript”; default value of the “charset_types” directive was changed accordingly.

実は私は前からgzip圧縮の設定はしていたんですが、PageSpeed Insightsでサイトをチェックして、なぜかjavascriptファイルだけgzipが有効になっていないことに今回初めて気づきました。このnginxの変更が原因でした。
なんでもそうですが、設定だけしておしまいではなく、ちゃんとチェックして有効になっていることを確認しないとですね。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

コメントを残す

*