nginx で gzip 圧縮を実装してウェブサイトの速度を向上させる方法

nginx で gzip 圧縮を実装してウェブサイトの速度を向上させる方法

gzip 圧縮を使用する理由は何ですか?

nginx で gzip 圧縮を有効にすると、Web ページ内の js や css などの静的リソースのサイズが大幅に削減され、帯域幅が大幅に節約され、伝送効率が向上し、ユーザーに高速なエクスペリエンスが提供されます。

nginxはgzipを実装する

nginx におけるリソース圧縮の原理は、デフォルトで統合されているngx_http_gzip_moduleモジュールを介してリクエストをインターセプトし、gzip 圧縮する必要があるタイプに対して gzip を実行することです。使い方は非常に簡単で、オプションを設定することで直接有効にできます。 。

gzip が有効になった後のリクエスト ヘッダーとレスポンス ヘッダー

リクエストヘッダー:
受け入れエンコーディング:gzip、deflate、sdch

レスポンス ヘッダー:
コンテンツエンコーディング:gzip
キャッシュ制御:max-age240

gzip処理

HTTP プロトコルの観点から、リクエスト ヘッダーは acceopt-encoding:gzip deflate sdch を宣言します (圧縮アルゴリズムを指します。sdch は Google 自身が推進する圧縮方法です)
サーバー -> 応答 -> コンテンツを gzip で圧縮 -> ブラウザに送信 -> ブラウザが gzip をデコード -> gzip で圧縮されたコンテンツを受信

gzipの共通設定パラメータ

  • gzip on|off gzipを有効にするかどうか
  • gzip_buffers 4k バッファ (圧縮のためにメモリにバッファリングされるブロックの数はいくつですか? 各ブロックの大きさはどれくらいですか?)
  • gzip_comp_level [1-9] 推奨圧縮レベル6。レベルが高くなるほど圧縮率は低くなりますが、CPUリソースの浪費も増えます。
  • gzip_disable UAに一致する正規表現は、どのようなURIがgzip圧縮されないかです
  • gzip_min_length 200 圧縮を開始する最小の長さ。長さがこれより短い場合、nginx は圧縮しません。
  • gzip_http_version 1.0|1.1 http プロトコル バージョンの圧縮を開始します (デフォルト 1.1)
  • gzip_proxiedはリクエスタのプロキシサーバとコンテンツのキャッシュ方法を設定します。
  • gzip_types text/plain application/xml txt、xml、html、css などの圧縮を使用するファイルの種類
  • gzip_vary off gzip圧縮フラグを送信するかどうか

nginx 設定 gzip

静的ページ index.html

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
  <メタ文字セット="UTF-8">
  <title>nginx gzip 圧縮のデモ</title>
  <script src="./jquery.js" ></script>
</head>
<本文>
<img src="./nginx_img.jpeg" スタイル="幅: 100px;高さ: 100px;" />
<h1>nginx は gzip 圧縮を実装して帯域幅の使用量を削減し、Web サイトの速度を向上させます</h1>
<h1>nginx は gzip 圧縮を実装して帯域幅の使用量を削減し、Web サイトの速度を向上させます</h1>
<h1>nginx は gzip 圧縮を実装して帯域幅の使用量を削減し、Web サイトの速度を向上させます</h1>
<h1>nginx は gzip 圧縮を実装して帯域幅の使用量を削減し、Web サイトの速度を向上させます</h1>
<h1>nginx は gzip 圧縮を実装して帯域幅の使用量を削減し、Web サイトの速度を向上させます</h1>
<h1>nginx は gzip 圧縮を実装して帯域幅の使用量を削減し、Web サイトの速度を向上させます</h1>
</本文>
</html>

nginx の設定

サーバ{
    聞く 80;
    サーバー名 ローカルホスト 192.168.0.96;
    gzip オン;
    gzip_バッファ 32 4k;
    gzip_comp_レベル6;
    gzip_min_length 200;
    gzip_types application/javascript application/x-javascript text/javascript text/xml text/css;
    gzip_vary オフ;
    ルート /Users/lidong/Desktop/wwwroot/test;
    インデックス index.php index.html index.htm;
    アクセスログ /Users/lidong/wwwlogs/access.log;
    error_log /Users/lidong/wwwlogs/error.log;
    場所 ~ [^/]\.php(/|$) {
        127.0.0.1:9000; をデフォルトとして設定します。
        fastcgi_index インデックス.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_params を含めます。
    }
}

gzip の前にページ リクエストを使用するには:

gzip が有効になっているリクエスト:

知らせ

  • 画像やmp3は圧縮率が比較的小さいため、通常は圧縮する必要はありません。
  • 一般的にテキスト、CSS、JS、XML形式のファイルを圧縮します
  • 小さいファイルは圧縮する必要がなく、元のファイルよりも大きくなる可能性があります。
  • バイナリファイルは圧縮する必要がない

要約する

上記は、編集者が紹介した、ウェブサイトの速度を向上させるための nginx での gzip 圧縮の実装方法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。

以下もご興味があるかもしれません:
  • Nginx サーバー構成で Gzip 圧縮を有効にする方法の詳細な説明
  • Nginx は GZIP 圧縮 Web ページ転送方式を有効にします (推奨)
  • Nginx で Gzip 圧縮を有効にしてページの読み込み速度を大幅に向上させる方法
  • nginx gzip 圧縮ページの設定
  • gzip 圧縮を使用した Nginx サーバー構成分析
  • Node.js サイトのリバース プロキシとして Nginx を使用する場合の GZip 圧縮の設定に関するチュートリアル
  • Nginx で圧縮と gzip 圧縮を有効にする方法
  • Nginx で gzip 圧縮を有効にする方法の例
  • Nginx での Gzip 圧縮設定の紹介
  • NginxはGzipアルゴリズムを使用してメッセージを圧縮します

<<:  MySQL 8.0.11 の詳細なインストール手順

>>:  MySQL 8.0.12 のインストールと設定方法のグラフィック チュートリアル (Windows10)

推薦する

Win10にCentOS7仮想マシンをインストールする

1. VMware Workstation 64バージョンをダウンロードするhttps://www....

divは、自動入力スタイルをブロックする入力ボックスとして入力を使用せずにコンテンツを入力できます。

今日、私は公開用の動的なウィンドウ スタイルを設計しましたが、マウスで入力をクリックしたときにブラウ...

MySQL データベース シェル import_table データ インポート

目次MySQL Shell import_table データのインポート1. import_tabl...

両側にCSS固定レイアウト、中央に適応レイアウトを実装

フローティング、フローティング埋め込み div、配置、フレックスという 4 つの一般的な方法と原則を...

CentOS システムでの JDK のインストールと設定の概要

目次序文OpenJDKの確認とアンインストールダウンロードした圧縮パッケージを使用してJDKをインス...

Vant Uploaderは1枚以上の写真をアップロードするコンポーネントを実装します

この記事では、1枚以上の写真をアップロードするためのVant Uploaderコンポーネントを紹介し...

jQuery ツリービュー ツリー構造アプリケーション

この記事では、jQueryツリービューツリー構造のアプリケーションコードを例として紹介します。具体的...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 2

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...

Linux カーネル デバイス ドライバー カーネル デバッグ テクニカル ノート集

/****************** * カーネルデバッグ技術 ****************...

インライン要素スパンの最小高さの定義

span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...

Vue の this.$store.state.xx.xx に関する簡単な説明

目次これを Vue.$store.state.xx.xxストアからデータを取得する私のプロジェクトフ...

HTMLページ埋め込み動画とJSコントロール切り替え動画例の詳しい説明

まず、ページにビデオを埋め込むための HTML コードは次のとおりです。コードをコピーコードは次のと...

同じ IP のアクセス頻度を制限するように nginx を設定する方法

1. nginx.conf の http{} に次のコードを追加します。 limit_conn_zo...

JavaScript で動的な QML オブジェクトを作成する方法

1. オブジェクトを動的に作成するJavaScript からオブジェクトを動的に作成する方法は 2 ...

プロジェクトにおける CSS グリッドシステムの柔軟な使用方法の詳細な説明

序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...