1. nginx はなぜ gzip を使用するのですか? 1. 圧縮の役割: ページがgzipで圧縮された後、 ページサイズは元のサイズの約1/7に圧縮できます。 伝送速度とページを開く時間が大幅に改善されます。 ユーザーのページアクセスエクスペリエンスの向上に役立ちます 2. Nginx が gzip 圧縮を実装する原理: ngx_http_gzip_module モジュールを通じてリクエストをインターセプトします。 gzipが必要なタイプにはgzip圧縮を実行します 3. ngx_http_gzip_module はデフォルトで Nginx に統合されています。 再コンパイルの必要はありません。電源を入れるだけです ソースコード: https://github.com/liuhongdi/ 2. gzipモジュールの使用例 gzip オン; gzip_min_length 1k; gzip_disable "MSIE [1-6]\."; gzip_comp_レベル5; gzip_types text/css text/javascript text/xml text/plain application/json application/javascript application/x-javascript application/xml application/xml+rss; gzip_http_バージョン1.1; 各指示の説明: gzip オン; gzipモードを有効にする、 デフォルト値はオフで、gzip 圧縮は有効になっていないことを意味します。 もちろん、オンに設定する必要があります。 gzip_min_length 1k; 圧縮されたページに許可される最小バイト数を設定します。ページのバイト数は、ヘッダーの Content-Length から取得されます。 ファイルが小さすぎると圧縮効果が明らかでなく、圧縮しない場合よりもファイルサイズが大きくなる場合もあります。 デフォルト値は 20 ですが、これは小さすぎます。 一般的に長さは1k以上に設定します gzip_disable IE6 は Gzip のサポートが不十分なので、有効になっていません。 gzip_comp_level : gzip圧縮レベル、1~9、 数値が大きいほど圧縮率は高くなりますが、CPU 時間も長くなります。 デフォルト値は1で、通常は5または6に設定されます。 CPU使用率が高い場合は2または3に設定しても問題ありません gzip_http_バージョン: gzip 圧縮でサポートされる最小の HTTP バージョンを設定します。 これよりバージョンが低い場合、gzip 圧縮は使用されません。 デフォルト値は1.1です 一般的には1.1が使用されます。 gzip_types : gzip 圧縮が有効になっているページの種類については、複数の値がスペースで区切られます。 ワイルドカード * は任意のタイプに一致しますが、この値は使用しないでください。 js/css/html/text コンテンツの圧縮のみが大きな効果を発揮します。 圧縮アルゴリズムによってすでに処理されている画像やビデオなどのファイルに対して圧縮を有効にしても、明らかな効果はありません。 1. text/html タイプが指定されているかどうかに関係なく、このタイプの応答では常に圧縮が有効になります。 したがって、この値は書き込む必要はありません 2. これらのファイルタイプに対応するMIMEタイプは、nginx/conf/mime.typesファイルにあります。 3. よく使われる 9 つの値: テキスト/css テキスト/javascript テキスト/xml テキスト/プレーン アプリケーション/json アプリケーション/javascript アプリケーション/x-javascript アプリケーション/xml アプリケーション/xml+rss 3. 例で使用されていないその他の設定: gzip_バッファ 4 16k; gzip_vary オン; gzip_proxied 任意; gzip_vary: Varyヘッダーのサポート、 オンの場合、「Vary: Accept-Encoding」がヘッダーに追加されます この値により、フロントエンド キャッシュ サーバーは GZIP 圧縮されたページをキャッシュできるようになります。 たとえば、Squidを使用してnginxで圧縮されたデータをキャッシュする nginxの前にsquidやvarnishを使用する場合、 この値をオンに設定できます gzip_プロキシ nginx をフロントエンド プロキシとして使用する場合は、このオプションを有効にします。 値がanyの場合、バックエンドサーバーのヘッダーが返す情報に関係なく、 圧縮は無条件に有効になります nginxをリバースプロキシとして使用する場合、 この値を任意の値に設定する gzip_バッファ: 圧縮を処理するために使用されるバッファ サイズを設定します。 デフォルト: 32 4k|16 8k 32 4k は、応答データが 4k 単位でメモリに要求され、サイズは 4k の 32 倍 (128k) であることを意味します。 このオプションを設定せず、デフォルト値を使用することをお勧めします。 4. gzipの圧縮効果を確認する 1. curlを使用して表示する #-I, --head ドキュメント情報のみを表示 ヘッダー情報のみを表示 #-H,--header LINE: カスタムヘッダー LINE をサーバーに渡す (H) カスタムリクエストヘッダー情報 [root@localhost curl]# curl -I -H "Accept-Encoding: gzip, deflate" http://www.lhdtest.net HTTP/1.1 200 OK サーバー: openresty 日付: 2020年4月27日月曜日 07:59:38 GMT コンテンツタイプ: text/html; 文字セット=utf-8 接続: キープアライブ 変化: Accept-Encoding Cookie の設定: SESSID_WEB=0ks2eh03vmv4dhje29ggojl1bs; パス=/ 有効期限: 1981 年 11 月 19 日 (木) 08:52:00 GMT キャッシュ制御: no-store、no-cache、must-revalidate プラグマ: キャッシュなし コンテンツエンコーディング: gzip 注: Content_Encoding: gzip と表示される場合は、gzip 圧縮が有効になっていることを意味します。 2. ブラウザで効果を確認する ブラウザの応答ヘッダー情報から gzip が有効かどうかを確認します。 スクリーンショットを参照してください: 圧縮前後の効果の比較: 圧縮前: 圧縮後: 注: Firefox の Web コンソールを使用します。yslow などのプラグインを試すこともできます。 5. nginx のバージョンを確認します。 [root@centos8 soft]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v nginx バージョン: nginx/1.18.0 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...
次のグラフは、100 個の異なる要素で iframe を作成するのにどれくらいの時間がかかるかを示し...
目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...
# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...
目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...
1. ドロップダウンリストの例コードは次のとおりです。 <!doctypehtml> ...
目次導入1. MySQLデータベースの全体的なアーキテクチャSQL インターフェースパーサーオプティ...
1. 監視計画監視項目を作成する前に、何を監視するのか、どのように監視するのか、監視データをどのよう...
平日はニュースに注目して、テンセントをよく閲覧しています。しかし、コメントへの返信はほとんど見られま...
/etc/my.confファイルで、[mysqld]の下に次の行を追加します: skip-grant...
目次1. データベース論理バックアップとはどのようなバックアップですか? 2. よく使われる論理バッ...
1. 使用法: (1)EXISTSの使用 ucsc_project_batch a から、存在する場...
最近ブログに書いたのですが、プロジェクトリストの中に写真がたくさんあり、最初は読み込みが遅いので、ス...
目次序文:詳しい紹介:練習する:要約する序文: Python、Java、Cシリーズなど、すべての主要...
必ずデータをバックアップすることを忘れないでください。データは貴重なものです! ! !コンピュータモ...