ホームページ  >  記事  >  運用・保守  >  Nginx の Brotli 圧縮アルゴリズムを有効にする方法

Nginx の Brotli 圧縮アルゴリズムを有効にする方法

王林
王林転載
2023-05-15 15:52:061362ブラウズ

brotli 圧縮アルゴリズムとは

brotli は、もともと Web フォントのオフライン圧縮のために 2015 年にリリースされました。 Google ソフトウェア エンジニアは 2015 年 9 月に、http 圧縮に特に重点を置いた一般的な可逆データ圧縮を含む brotli の拡張バージョンをリリースしました。エンコーダは圧縮率を向上させるために部分的に書き直され、エンコーダとデコーダの両方の速度が向上し、ストリーミング API が改善されて圧縮品質レベルが向上しました。新しいバージョンでは、クロスプラットフォームのパフォーマンスが向上し、デコードに必要なメモリが削減されたことも示されています。

一般的な汎用圧縮アルゴリズムとは異なり、brotli は事前定義された 120 キロバイトの辞書を使用します。この辞書には、テキストと HTML ドキュメントの大規模なコーパスから抽出された 13,000 を超える一般的な単語、フレーズ、その他の部分文字列が含まれています。事前定義されたアルゴリズムにより、ファイルが小さい場合の圧縮密度が向上します。

テキスト ファイルの圧縮に deflate の代わりに brotli を使用すると、通常、圧縮速度と解凍速度はほとんど変わりませんが、圧縮密度が 20% 増加します。 Brotli を使用したスト​​リーム圧縮のコンテンツ エンコード タイプには、「br」を使用することが提案されています。

#インストール
#1.ダウンロード brotli

git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init

2.コンパイル

追加 - 元のコンパイル設定の後に追加 - module=/opt/nginx/ngx_brotli

コードをコピーします。コードは次のとおりです。

./configure --prefix=/usr/local/nginx - -user =www --group=www --with-pcre=/opt/nginx/pcre-8.41 --with-http_ssl_module --with-zlib=/opt/nginx/zlib-1.2.11 --with-openssl= /opt /nginx/openssl-1.0.2n --add-module=/opt/nginx/ngx_brotli --with-http_v2_module

構成、

http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  tcp_nopush   on;

  keepalive_timeout 65;
  #brotli compression
  brotli on;
  brotli_comp_level 6;
  brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
  ……

を http セグメントに追加し、再起動します。ページを更新してヘッダーを表示すると、図に示すように

accept-encoding:gzip, deflate, br

が見つかりました。

Nginx の Brotli 圧縮アルゴリズムを有効にする方法 これは、brotli 圧縮がオンになっているという意味です。


構成手順


##命令の概要

次の命令が定義されています:

brotli、応答データの動的圧縮を許可するかどうか、オプションの値は on と off で、デフォルト値は off です。例は次のとおりです。

brotli on;

brotli_types、動的圧縮が有効な場合、圧縮された MIME タイプが許可され、デフォルト値は text/html です。例は次のとおりです。

brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;

brotli_static、.br で終わる前処理された圧縮ファイルの検索を許可するかどうか。オプションの値は on、off、always で、デフォルト値は off です。サンプルは次のとおりです:

brotli_static off;

brotli_comp_level、圧縮レベル。オプションの値の範囲は 0 ~ 11、デフォルト値は 6 です。サンプルは次のとおりです:

brotli_comp_level 11;

brotli_buffers、応答データの圧縮時に使用されるバッファの数とサイズ。サンプルは次のとおりです。

brotli_buffers 16 8k;

brotli_window、brotli で使用されるウィンドウ値、デフォルト値は 512k です。例は次のとおりです:

brotli_window 512k;

brotli_min_length、応答データの最小長この値を下回ると、brotli アルゴリズムは圧縮操作の実行に使用されません。 Brotli アルゴリズムは、content-length を使用して応答データの長さを決定します。サンプルは次のとおりです:

brotli_min_length 20;

以上がNginx の Brotli 圧縮アルゴリズムを有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。