Node.js サイトが Nginx をリバース プロキシとして使用する場合に GZip 圧縮を構成する方法

PHPz
リリース: 2023-05-25 19:13:04
転載
1320 人が閲覧しました

Node.js で開発されたサイト。nginx を使用してリバース プロキシを実装する場合も。

これにより、サーバー側で gzip 圧縮を簡単に実装して、サイトの閲覧をよりスムーズにすることができます。

前提条件:node.js nginx reverse proxy.

node.js やるべき作業:

express バージョン 4.0 未満:

app.use(express.compress()); //主要是这句
app.use(express.json()); 
app.use(express.urlencoded()); 
app.use(express.bodyparser()); 
app.use(express.methodoverride()); 
app.use(express.cookieparser());
ログイン後にコピー

すべてのリクエストを圧縮するには、圧縮してください上にあります。

express 4.0 以降 (4.0 を含む)

var compress = require('compression');
app.use(compress());
ログイン後にコピー

4.0 以降のバージョンでは、ミドルウェアが独立して取り出されます。

したがって、最初に rquire('compression ' )

ここをクリックして、express 3.5 と Express 4.0 の主な違いを表示します。

Node.js 実行する必要がある作業は非常に簡単です。

nginx行う必要があります:

nginx 構成ファイルを開いて構成を変更し、gzip スイッチをオンにします

nano /usr/local/nginx/conf/nginx.conf
ログイン後にコピー

独自のサーバー上の nginx が /usr/local にインストールされていない可能性があります/ ディレクトリにあるため、独自のインストール ディレクトリに従って設定ファイル nginx を探します。conf

次の設定を http 設定ノードに追加します。

gzip on;
    gzip_min_length 1k;
    gzip_buffers   4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types    text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

http (
    //放上面配置节点  
)
ログイン後にコピー

各設定項目の意味は何ですか?

1) gzip

構文: gzip オン/オフ

デフォルト値: オフ

スコープ: http、サーバー、場所

説明: gzip モジュールをオンまたはオフにします。ここでオンを使用して起動を示します

2) gzip_min_length

構文: gzip_min_length length

デフォルト値: gzip_min_length 0

スコープ: http、サーバー、場所

説明: 設定圧縮が許可されるページの最小バイト数ページのバイト数は、ヘッダーのコンテンツ長から取得されます。デフォルト値は 0 で、サイズに関係なくページを圧縮します。バイト数は 1k 以上に設定することをお勧めしますが、1k 未満の場合は圧縮がさらに進む可能性があります。 |

3) gzip_buffers

構文: gzip_buffers 数値サイズ

デフォルト値: gzip_buffers 4 4k/8k

スコープ: http、サーバー、場所

説明: gzip 圧縮結果データ ストリームを保存するために複数ユニットのキャッシュを取得するようにシステムを設定します。 4 16k は、16k 単位でメモリを申請し、元のデータ サイズの 4 倍を 16k 単位で申請することを意味します。

4) gzip_comp_level

構文: gzip_comp_level 1..9

デフォルト値: gzip_comp_level 1

スコープ: http、サーバー、場所

説明: gzip 圧縮率。1 は圧縮率が最も小さく、処理速度が最も速く、9 は圧縮率が最も大きいですが、処理が最も遅くなります (転送は高速ですが、CPU の消費量が多くなります)。ここでは5に設定されています。

5) gzip_types

構文: gzip_types mime-type [mime-type ...]

デフォルト値: gzip_types text/html

スコープ: http、server、location

説明: 圧縮の MIME タイプと一致します。(指定されているかどうかに関係なく)、「text/html」タイプは常に圧縮されます。これは application/x-javascript text/css application/xml に設定されます。

圧縮が必要な状況に応じて、一般的に使用される静的タイプがあります:

text/html
text/plain
text/css
application/x-javascript
text/javascript
application/xml
ログイン後にコピー

ok、基本サーバーはここで構成されています。nginx はリロードするだけで済みます。

curl を使用して、サーバー上で gzip がオンになっていることをテストする方法をテストしてみましょう (テスト条件はデフォルトの gzip_types です。つまり、text.html のみが圧縮され、他の型は圧縮されません)。

gzip がオンになっているかどうかを確認します。クライアントは「accept-encoding: gzip, deflate」ヘッダー情報を追加する必要があります。

$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/tag.php"
ログイン後にコピー
http/1.1 200 ok
server: nginx
date: thu, 08 mar 2012 07:23:46 gmt
content-type: text/html
connection: close
content-encoding: gzip
ログイン後にコピー
rreerree

ご覧いただけます。 2 番目の例は圧縮されていません。

以上がNode.js サイトが Nginx をリバース プロキシとして使用する場合に GZip 圧縮を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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