gzip 圧縮と解凍に Nginx を使用する方法
Nginx は、リバース プロキシ サーバーおよびロード バランサとしても機能する高性能 Web サーバーです。 Web アプリケーション開発において、Web サイトの速度を最適化することは非常に重要なタスクです。 gzip 圧縮および解凍テクノロジーを使用すると、送信されるファイルのサイズを効果的に削減し、Web サイトのアクセス速度を向上させることができます。この記事では、Nginxを使ってgzip圧縮・解凍を行う方法を紹介します。
まず、Nginx 構成ファイルで gzip 圧縮を有効にする必要があります。通常、Nginx 構成ファイルは /etc/nginx/nginx.conf にあります。
設定ファイルを開き、以下に示すように、http モジュールの下にある gzip 設定項目を見つけます。
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; ... }
上記の設定では、gzip をオンにすることは、gzip 圧縮機能をオンにすることを意味します。 gzip_disable "msie6" は、ブラウザの gzip 圧縮サポートに問題があるため、msie6 ブラウザの gzip 圧縮機能を無効にすることを意味します。 gzip_types は、gzip 圧縮が必要なファイルの種類を指定します。
上記の gzip 構成項目の下に、gzip 圧縮のレベルを示す gzip_comp_level 構成項目を追加します。レベルの範囲は 1 ~ 9 です。数値が大きいほど圧縮率は高くなりますが、圧縮時間も長くなります。
サンプル構成は次のとおりです:
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; ... }
上記の構成では、gzip_comp_level は 6 に設定されており、gzip 圧縮のレベルを示します。
上記の gzip 構成アイテムの下に gzip_buffers 構成アイテムを追加して、圧縮バッファのサイズを示します。デフォルトでは、Nginx は応答コンテンツに基づいて圧縮バッファを自動的に割り当てます。ただし、圧縮バッファのサイズに特別な要件がある場合は、それを構成できます。
サンプル構成は次のとおりです:
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; gzip_buffers 16 8k; ... }
上記の構成では、gzip_buffers が 16 8k に設定されており、16 個の 8k サイズの圧縮バッファーが割り当てられていることを示します。
上記の gzip 構成項目の下に gzip_min_length 構成項目を追加して、gzip 圧縮の最小ファイル サイズを指定します。 Gzip 圧縮は、ファイル サイズがこの値を超える場合にのみ行われます。
サンプル構成は次のとおりです:
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; gzip_buffers 16 8k; gzip_min_length 256; ... }
上記の構成では、gzip_min_length が 256 に設定されています。これは、ファイル サイズが 256 バイトを超えた場合にのみ gzip 圧縮が実行されることを意味します。
上記の構成後、Nginx はクライアントから要求された適切なファイルを自動的に gzip 圧縮します。クライアントから要求されたファイルが gzip で圧縮されている場合、Nginx は自動的に「Content-Encoding: gzip」応答ヘッダーを追加し、応答コンテンツを解凍します。
実際、Nginx はファイルを gzip 圧縮および解凍するだけでなく、動的に生成された応答コンテンツを gzip 圧縮することもできます。動的に生成された応答コンテンツの場合、以下に示すように、関連するページ エンコード ヘッダーを設定することで gzip 圧縮を実現できます。
location / { ... gzip_proxied any; ... }
上記の構成では、gzip_proxied が any に設定されています。つまり、すべてのタイプで gzip 圧縮が実行されます。リクエストの。
上記の設定とサンプルコードにより、Nginx の gzip 圧縮および解凍機能を柔軟に使用して、Web サイトのアクセス速度を最適化できます。同時に、動的に生成された応答コンテンツについては、ページ エンコーディング ヘッダーを設定することで gzip 圧縮を実現することもできます。
以上がNginx を使用して gzip 圧縮および解凍を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。