ホームページ  >  記事  >  運用・保守  >  Nginx を使用して HTTP リクエストのパフォーマンスを最適化する方法

Nginx を使用して HTTP リクエストのパフォーマンスを最適化する方法

WBOY
WBOYオリジナル
2023-08-05 08:42:361378ブラウズ

Nginx を使用して HTTP リクエストのパフォーマンスを最適化する方法

要約: Nginx は、高性能 Web サーバーであり、強力なリバース プロキシ サーバーです。いくつかの方法で HTTP リクエストのパフォーマンスを向上させることができます。この記事では、Nginx を使用して HTTP リクエストのパフォーマンスを最適化するためのいくつかのテクニックを紹介し、対応するコード例を示します。

  1. キャッシュを有効にする

Nginx のキャッシュ機能を有効にすると、サーバーの負荷とリクエストの応答時間を大幅に削減できます。キャッシュを有効にする設定例を次に示します。

http {
  ...
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

  server {
    ...
    location / {
      proxy_pass http://backend;
      proxy_cache my_cache;
      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 404 1m;
    }
  }
}

上記の例では、proxy_cache_path ディレクティブを通じてキャッシュ パスと関連オプションを設定し、それを location で使用します。 ブロック proxy_cache ディレクティブはキャッシュを有効にし、proxy_cache_valid ディレクティブはさまざまな応答コードのキャッシュ有効時間を指定します。

  1. Gzip 圧縮を有効にする

Gzip 圧縮を有効にすると、送信されるファイルのサイズが小さくなり、ネットワーク帯域幅の使用量が削減されます。以下は、Gzip 圧縮を有効にする設定例です。

http {
  ...
  gzip on;
  gzip_disable "msie6";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml+rss application/atom+xml image/svg+xml;

  server {
    ...
    location / {
      proxy_pass http://backend;
      proxy_set_header Accept-Encoding "";
    }
  }
}

上記の例では、gzip on ディレクティブを通じて Gzip 圧縮を有効にし、gzip_types ディレクティブを指定しました。圧縮するファイルの種類。

  1. HTTP/2 の使用

HTTP/2 は、HTTP/1.1 と比較してパフォーマンスが大幅に向上した新しいネットワーク プロトコルです。 HTTP/2 を有効にすると、同時実行性が向上し、待ち時間が短縮されます。以下は、HTTP/2 を有効にするサンプル構成です:

http {
  ...
  server {
    ...
    listen 443 ssl http2;
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;
    ...
  }
}

上の例では、ポート 443 の使用を設定し、listen ディレクティブを通じて HTTP/2 を有効にしました。

  1. Nginx キャッシュ アクセラレーション サービスを使用する

Nginx をキャッシュ アクセラレーション サービスとして使用し、バックエンド サーバーからのリクエストをプロキシしてバックエンドの負荷を軽減できます。以下は、キャッシュ アクセラレーション サービスを有効にするための設定例です。

http {
  ...
  upstream backend {
    server backend1.example.com;
    server backend2.example.com;
  }

  server {
    ...
    location / {
      proxy_pass http://backend;
      proxy_cache my_cache;
      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 404 1m;
    }
  }
}

上記の例では、upstream ディレクティブを使用してバックエンド サーバーのリストを定義し、その後 でバックエンド サーバーのリストを定義します。 location ブロック proxy_pass ディレクティブは、バックエンド サーバーからのリクエストをプロキシするために使用されます。

結論:

キャッシュを有効にし、Gzip 圧縮を有効にし、HTTP/2 を使用し、Nginx キャッシュ アクセラレーション サービスを使用することで、HTTP リクエストのパフォーマンスを大幅に向上させることができます。上記は、Nginx を使用して HTTP リクエストのパフォーマンスを最適化するためのヒントと対応するコード例です。

参考:

  • Nginx ドキュメント: https://nginx.org/en/docs/
  • Nginx キャッシュ: https://nginx.org/ ja /docs/http/ngx_http_proxy_module.html#proxy_cache
  • Nginx Gzip 圧縮: https://nginx.org/en/docs/http/ngx_http_gzip_module.html
  • Nginx HTTP/2: https : //nginx.org/en/docs/http/http2_module.html
  • Nginx リバース プロキシ: https://nginx.org/en/docs/http/ngx_http_proxy_module.html

以上がNginx を使用して HTTP リクエストのパフォーマンスを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。