nginx がリソース圧縮を実現する原理は、ngx_http_gzip_module モジュールを介してリクエストをインターセプトし、gzip が必要なタイプに対して gzip 圧縮を実行することです。このモジュールはデフォルトの基本モジュールであり、再コンパイルする必要はありません。直接有効にすることができます。 基本設定# gzip を有効にするgzip on; # gzip 圧縮の最小ファイル サイズを有効にします。設定された値より小さいファイルは圧縮されません。gzip_min_length 1k; # gzip 圧縮レベル、1 ~ 9、数字が大きいほど圧縮率は高くなりますが、CPU 時間も長くなります。詳細な説明は後で説明します。gzip_comp_level 1; # 圧縮するファイルの種類。 JavaScript にはさまざまな形式があります。値は mime.types ファイルにあります。 gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml; # http ヘッダーに Vary: Accept-Encoding を追加するかどうか。gzip_vary をオンにすることをお勧めします。 # IE 6 を無効にする gzipgzip_disable "MSIE [1-6]\\."; # 圧縮に必要なバッファサイズを設定します gzip_buffers 32 4k; # gzip 圧縮の HTTP プロトコル バージョンを設定します。負荷がない場合は無視できます。# gzip_http_version 1.0;# キャッシュの場所を有効にする ~* ^.+\\.(ico|gif|jpg|jpeg|png)$ { access_log オフ; 有効期限は2日です。 } 場所 ~* ^.+\\.(css|js|txt|xml|swf|wav)$ { access_log オフ; 24時間で期限切れになります。 } 場所 ~* ^.+\\.(html|htm)$ { 1時間で期限切れになります。 } 場所 ~* ^.+\\.(eot|ttf|otf|woff|svg)$ { access_log オフ; 有効期限が最大になります。 } # フォーマット # 30 秒で期限切れ; # 30 分で期限切れ; # 2 時間で期限切れ; # 30 日で期限切れ; 検出効果1. nginxのレスポンスヘッダーのContent-Encodingはgzipです 2. 返されるファイルサイズは明らかに圧縮されている 圧縮手順 gzip オンgzip をデフォルトでオンまたはオフにします。コード ブロック http、サーバー、場所 (場所内にある場合) を閉じます。 gzip_バッファリクエストの圧縮を処理するために使用されるバッファの数とサイズを設定します。たとえば、32 4K は、1 つのメモリ ページのサイズを 4K 単位で基準にして、メモリ空間の 32 倍を適用することを意味します (つまり、システム内のメモリ ページは 4K です)。このオプションを設定せず、デフォルト値を使用することをお勧めします。 構文: gzip_buffers 数値 サイズ; デフォルト: gzip_バッファ 32 4k|16 8k; コンテキスト: http、サーバー、場所 gzip_comp_levelgzip 圧縮レベルを設定します。レベルが低いほど、圧縮速度が速くなり、ファイル圧縮率は小さくなります。逆に、速度が遅いほど、ファイル圧縮率は大きくなります。 構文: gzip_comp_level レベル;デフォルト: gzip_comp_level 1;コンテキスト: http、サーバー、場所 圧縮レベルが高ければ高いほど良いというわけではありません。実際には gzip_comp_level 1 の圧縮能力で十分です。レベルが高くなるほど圧縮率の増加は小さくなります。むしろ処理性能は大幅に低下します。 gzip_disable式を使用して、どの UA ヘッダーを gzip で圧縮しないかを示します。 構文: gzip_disable regex ...; デフォルト: - コンテキスト: http、server、locationこのディレクティブはバージョン 0.6.23 で登場しました。 gzip_最小長さGzip 圧縮は、返されるコンテンツがこの値 (K 単位) より大きい場合にのみ使用されます。値が 0 の場合、すべてのページが圧縮されます。 構文: gzip_min_length 長さ;デフォルト: gzip_min_length 20;コンテキスト: http、サーバー、場所 gzip_http_バージョンhttp プロトコルのバージョンを識別するために使用されます。初期のブラウザは gzip 圧縮をサポートしていないため、ユーザーには文字化けした文字が表示されます。そのため、このオプションは初期のバージョンをサポートするために追加されています。デフォルトでは、http/1.0 プロトコルでは gzip 圧縮は有効になっていません。 構文: gzip_http_version 1.0 | 1.1; デフォルト: gzip_http_バージョン1.1; コンテキスト: http、サーバー、場所 アプリケーション サーバーの前に負荷分散レイヤーとして別の Nginx クラスターがある場合、このレイヤーでは gzip は有効になりません。 gzip_プロキシNginx をリバース プロキシとして使用する場合は、以下を有効にします。 1.off – すべてのプロキシ結果データの圧縮をオフにします 2. expired – ヘッダーに「Expires」ヘッダーが含まれている場合に圧縮を有効にします 3.no-cache – ヘッダーに「Cache-Control: no-cache」ヘッダーが含まれている場合に圧縮を有効にします 4.no-store – ヘッダーに「Cache-Control: no-store」ヘッダーが含まれている場合に圧縮を有効にします 5. private – ヘッダーに「Cache-Control: private」ヘッダーが含まれている場合に圧縮を有効にします 6. no_last_modified – ヘッダーに「Last_Modified」ヘッダーが含まれている場合に圧縮を有効にします 7. no_etag – ヘッダーに「ETag」ヘッダーが含まれている場合に圧縮を有効にします 8. auth – ヘッダーに「Authorization」ヘッダーが含まれている場合に圧縮を有効にします 9.any – すべての結果データを無条件に圧縮します 構文: gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...; デフォルト: gzip_proxied オフ; コンテキスト: http、サーバー、場所 gzip_types圧縮する必要がある MIME タイプを設定します。設定されたタイプの範囲外のリクエストは圧縮されません。 構文: gzip_types mime-type ...; デフォルト: gzip_typesテキスト/html; コンテキスト: http、サーバー、場所 gzip_vary応答ヘッダー「Vary: Accept-Encoding」を追加すると、送信されたデータが圧縮されていることを受信者に通知します。これをオンにすると、応答ヘッダーに Accept-Encoding:gzip が追加されます。これは、gzip 圧縮をサポートしていないクライアント ブラウザーに役立ちます。 構文: gzip_varyon |off; デフォルト: gzip_varyoff; コンテキスト: http、サーバー、場所 Nginx で gzip を有効にする方法についての記事はこれで終わりです。Nginx で gzip を有効にする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: よく知られているブラウザのDOCTYPEモード選択メカニズム
現象システムは Linux システムカーネルを正常にコンパイルできましたが、SVN をインストールし...
最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...
データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...
1. ハイパーリンクアイコンの仕様とは?<br />ハイパーリンクアイコンの仕様は、「C...
背景最近、Node.js を勉強しているのですが、クラウド サーバーがあることを思い出しました。しか...
bash を終了する場合は、次の 2 つのオプションがあります。最初のもの: Ctrl + d を押...
イメージをプルします: [mall@VM_0_7_centos ~]$ sudo docker pu...
目次前の単語同期と非同期前菜プレートを追加マクロタスク マイクロタスク約束しましょうタイマーを追加す...
導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...
目次キャンバス関連文書エフェクト画像表示ケースの完全なコード親コンポーネントコードサブコンポーネント...
MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...
一般的に使用される方法は次の 4 つです。 1.locate()メソッドを使用する一般的な使用法: ...
これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...
検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...
このチュートリアルでは、ウェブデザインにおけるFORMフォームタグのさまざまな属性の応用を紹介します...