2 flat logo on transparent 256
2018-05-24
2018-06-10

Nginxでgzip圧縮を設定する

File32321

ページが遅ければ、それだけユーザーの離脱率が上昇するため、SEO的にもサイトの読み込みはかなり重要になります。

今回Nginxで画像やCSSなどをgzip圧縮する方法を解説します。

gzip圧縮と効果

LinuxなどのUNIX系のOSで利用されるファイル圧縮形式です。

クライアントへリクエストされたデータを返却する際に、サーバ側で Gzip 圧縮してデータの容量を小さくし、データの転送速度を高速化することが可能になります。

Nginxで gzip圧縮を行う

nginx.confファイルのhttp内に下記記述を設定し、再起動すると対応することができます。

http {
  中間表記省略

        gzip on;
        gzip_disable "msie6";
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_buffers 16 5k;
        gzip_min_length  1500;
        gzip_http_version 1.1;
        gzip_types text/plain
                          image/png 
                          image/gif 
                          image/jpeg 
                          text/css 
                          text/xml 
                          text/javascript;
}

各内容の解説

gzip on;

gzip on;で gzip圧縮を有効にします。

gzip_disable

古いブラウザではgzip圧縮に対応していない場合があり

gzip圧縮をしないブラウザを指定します。 今回は MicroSoft IE Ver 6を指定しています。

※任意設定項目です。

gzip_vary on

Accept-EncodingへVary: Accept-Encodingを付与します。 Nginxの前後にキャッシュサーバやCDNが設定されている場合は 指定をお勧めします。

gzip_proxied any;

Viaヘッダが含まれていると設定ファイルにgzip on;と書いてもレスポンスがgzip圧縮されないので、本設定をOnにする必要があります。

※gzipvaryやgzipproxiedの解説はこのサイトを参照しました

gzipcomplevel

0~9の間で圧縮レベルを設定します。 0は非圧縮となります。

gzip_buffers

圧縮サイズのバッファです。

gzipminlength

圧縮対象の最小ファイル設定 単位はバイトです。

なお、この設定より容量が軽い画像などは圧縮に時間がかかる場合があります。

gziphttpversion

応答の圧縮が要求されるリクエストの最小のHTTPバージョンを設定します。デフォルトが1.1です。

gzip_types

圧縮するコンテンツタイプです。 text/htmlはデフォルトで設定されているので、指定しないようにして下さい。

上記を設定後リロードすれば設定が反映されます。

sudo service nginx reload

その他関連記事

Nginxでトレイリングスラッシュ (trailing slash)をリダイレクトする

無料で使えるCDN Cloudflare(クラウドフレア)の登録方法を解説

Nginxで一部海外IPからのアクセスを遮断する

Amazon Linux 、Nginx、CertbotでLet’s Encryptを利用し、無料でSSL対応する

前の記事
次の記事
人気記事
カテゴリーから記事を探す