Nginxの基本的なgzip設定方法の紹介

PHPz
リリース: 2023-06-03 09:52:43
転載
4217 人が閲覧しました

はじめに

gzip (gnu-zip) は圧縮テクノロジです。 gzip 圧縮後、ページ サイズは元のサイズより 30% またはさらに小さくすることができ、これによりユーザーはページをより速く閲覧できるようになります。 gzip 圧縮されたページはブラウザとサーバーの両方でサポートされている必要があります。実際にはサーバー側の圧縮であり、ブラウザに送信された後、ブラウザはそれを解凍して解析します。現在のほとんどのブラウザは gzip ページの解析をサポートしているため、ブラウザについて心配する必要はありません。

フロントエンドでもバックエンドでも、プロジェクトをデプロイする際にはnginxが使われることが多く、小規模なプロジェクトではリバースプロキシなどを使うことが多いです。今日はシンプルかつ直接的に、ポイントの 1 つである gzip についてお話します。間違いがある場合は修正してください。

Ubuntu、centos、linux などがサーバー側でよく使用されます。サーバーがない場合は、ローカルで再生できます。

mac インストール

mac では brew を使用して直接インストールできます。brew がインストールされていない場合は、最初にインストールできます

/usr/bin/ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
brew install nginx
ログイン後にコピー

デフォルト設定

#インストールが完了すると、コマンド ラインに次の情報が含まれていることがわかります。nginx.conf が配置されているパスが表示されます。探している設定ファイル。ポート情報も含まれており、nginx を起動する際は http://localhost:8080 に直接アクセスし、下図のようなページが表示されればインストールは正常に開始されます。

docroot: /usr/local/var/www
default config: /usr/local/etc/nginx/nginx.conf
port:8080
ログイン後にコピー

Nginxの基本的なgzip設定方法の紹介

いくつかの一般的なコマンド

  • 開始:

    nginx

  • ウォームリスタート:

    nginx -s reload

  • シャットダウン:

    nginx -s stop

  • テスト構文:

    nginx -t

##gizp 構成:


gzip 関連の設定は、重複する設定がある場合、

http{}

または server{} または location{} レベルに配置できます。さまざまなレベル 優先順位は location{} >server{} > http{}1、gzip 圧縮を有効にする

gzip on;
ログイン後にコピー

2、gzip http バージョン

gzip_http_version 1.0;
ログイン後にコピー
ログイン後にコピー

3. ie6 の gzip 圧縮を禁止します (もちろん、現在 ie6 を使用する人はほとんどいません)

gzip_disable "msie [1-6]";
ログイン後にコピー

4. 圧縮レベル (1 ~ 9、一般的にバランスのとれたファイル)サイズ CPU で使用する場合、5 が一般的に使用される値ですが、もちろん実際のマシンによって異なります)

gzip_comp_level 5;
ログイン後にコピー

5. 最小圧縮しきい値 (デフォルトは 20 バイト)

gzip_min_length 20;
ログイン後にコピー

6. プロキシ経由でリンクされたクライアント データを圧縮します

gzip_proxied any;
ログイン後にコピー

7. デフォルトの http プロトコル バージョンは 1.1 で、1.0 のリクエストは圧縮されません。1.0 に設定すると、http1 を意味します.0以降 バージョンは圧縮されます。 (proxy_pass がリバース プロキシに使用されている場合、nginx とバックエンドの上流サーバー間の通信では、デフォルトで http/1.0 プロトコルが使用されます。)

gzip_http_version 1.0;
ログイン後にコピー
ログイン後にコピー

8. プロキシ キャッシュ圧縮と元のバージョンのリソース、 accept-encoding が gzip をサポートしていないことによるクライアント エラーを回避します (現在は gzip が一般的に使用されています)

gzip_vary on;
ログイン後にコピー

9. 圧縮ファイル タイプ (デフォルトでは常に text/html タイプを圧縮します。これは特別に指定されています) application/javascript と text/javascript の両方を追加するのが最適です。ページ上のスクリプト タグの種類が異なる場合、一部の js ファイルが圧縮されない可能性があります。デフォルトの種類は application/javascript)

gzip_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/javascript text/x-component;
ログイン後にコピー

10. 圧縮 (.gz) または静的ファイル サービスがある場合は、それをオンに設定できます。そうでない場合は、追加の I/O オーバーヘッドが発生するため、オフに設定することをお勧めします。これを処理するより良い方法は、

location{}

または server{} レベルで個別に処理することです。

gzip_static on;
ログイン後にコピー

11. 圧縮結果のデータストリームを格納する容量は8k単位で表されますので、8k単位で元のデータサイズの16倍のメモリを申請してください。デフォルト値では、gzip 圧縮結果を保存するために元のデータと同じサイズのメモリ領域が適用されます。

うわー

以上がNginxの基本的なgzip設定方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート