ホームページ  >  記事  >  運用・保守  >  Nginx のパフォーマンスの最適化とセキュリティ設定

Nginx のパフォーマンスの最適化とセキュリティ設定

WBOY
WBOYオリジナル
2023-06-10 09:18:084315ブラウズ

Nginx は、優れたパフォーマンス、セキュリティ、信頼性を備えた一般的に使用される Web サーバー、プロキシ サーバー、ロード バランサーであり、高負荷の Web アプリケーションに使用できます。この記事では、Nginx のパフォーマンスの最適化とセキュリティ設定について説明します。

1. パフォーマンスの最適化

  1. worker_processes パラメータの調整

worker_processes は Nginx の重要なパラメータです。使用できるワーカープロセスの数を指定します。この値は、サーバー ハードウェア、ネットワーク帯域幅、負荷の種類などの要因に基づいて調整する必要があります。一般に、サーバーの CPU コア数または処理能力に基づいて設定を行うことができます。サーバーの CPU に複数のコアがある場合、worker_processes の値はコア数の 2 倍または 3 倍に設定できます。

たとえば、サーバーに 8 つの CPU コアがある場合、worker_processes を 16 または 24 に設定できます。

  1. worker_connections パラメータを調整する

worker_connections は Nginx のもう 1 つの重要なパラメータです。単一のワーカー プロセスが処理できる同時接続の数を指定します。この値は、サーバー ハードウェア、ネットワーク帯域幅、負荷の種類などの要因に基づいて調整する必要もあります。一般に、サーバーのメモリ サイズに基づいて設定を行うことができます。サーバーのメモリが十分に大きい場合は、worker_connections を非常に大きな値に設定して、Nginx の同時処理能力を向上させることができます。

たとえば、サーバーのメモリ サイズが 16 GB の場合、worker_connections を 16,384 または 32,768 に設定できます。

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

Nginx は、キャッシュを有効にすることでバックエンド サーバーへのリクエストを減らすことができます。キャッシュを有効にすると、Web サイトの応答速度と同時処理能力が大幅に向上します。たとえば、サイト上のページのコンテンツが一定期間変更されない場合、そのページの応答をキャッシュして、次回リクエストされたときにキャッシュから直接応答を取得できるようにすることができます。

キャッシュの有効化は、次の 2 つの方法で実現できます。

① proxy_cache モジュールに基づく: キャッシュはローカル ハードディスクまたは分散キャッシュに保存できます。

② FastCGI キャッシュに基づく: 主に fastcgi_cache および fastcgi_cache_path 命令を使用する必要があります。

  1. 応答データの圧縮

Nginx は、ネットワーク帯域幅の使用を削減し、Web サイトの応答速度を向上させるために、応答コンテンツの圧縮をサポートしています。 gzip 圧縮を有効にすると、応答コンテンツのサイズが大幅に削減され、Web サイトの読み込み速度が向上します。

gzip 圧縮を有効にするには、次の 2 つの方法があります:

① gzip モジュールに基づく: nginx.conf ファイルで gzip on ディレクティブを設定することで、gzip 圧縮を有効にできます。

② サードパーティのモジュールに基づく: ngx_brotli モジュール、ngx_deflate モジュールなど。

  1. 静的ファイルの提供

Nginx は静的ファイル サーバーとして使用でき、静的ファイルに対して高速な応答と高い同時処理機能を提供できます。 Web サイトが主に静的ファイルのダウンロードまたは CDN アクセラレーション サービスを提供する場合は、特に 1 つの Nginx インスタンスで静的ファイル リクエストを処理し、別の Nginx インスタンスで動的ページ リクエストを処理できるようにすることができます。

  1. HTTP/2 プロトコルの使用

HTTP/2 は HTTP プロトコルの最新バージョンであり、より効率的なデータ送信とより高速な Web ページの読み込み速度を提供します。 HTTP/2 を有効にするには、次の 2 つの方法があります。

① SSL/TLS ベース: HTTPS プロトコルを使用し、有効な SSL/TLS 証明書をインストールする必要があります。

② Nginx HTTP/2 モジュール: Nginx HTTP/2 モジュールをインストールすると、HTTP/2 プロトコルを有効にできます。

2. セキュリティ設定

  1. DDoS 攻撃の防止

DDoS 攻撃は一般的なネットワーク攻撃手法であり、サービスの停止や帯域幅の飽和などを引き起こす可能性があります。問題。 Nginx は次の方法で DDoS 攻撃を防ぐことができます:

① max_connections パラメータを増やします: 単一の IP アドレスの最大接続数を制限できます。

② 拡張モジュールをインストールします: ngx_http_limit_conn_module や ngx_http_limit_req_module など。接続数とリクエスト レートを制限することで DDoS 攻撃を防ぐことができます。

③ CDN プロバイダーを使用する: CDN サービスを使用すると、静的コンテンツが CDN のエッジ ノードにキャッシュされるため、配信元サイトの負荷が軽減され、DDoS 攻撃に対する耐性が向上します。

  1. SQL インジェクションの防止

SQL インジェクションは、Web アプリケーションを攻撃する一般的な方法であり、悪意のある SQL コードを Web アプリケーションに挿入することによって機密情報を取得したり、データベースを制御したりすることができます。 。 Nginx は、次の方法で SQL インジェクションを防ぐことができます:

① Web アプリケーション ファイアウォールを使用する: Web アプリケーション ファイアウォールをインストールすることで、入力データをチェックしてフィルタリングできます。

② アップロードされたファイルを確認する: Nginx の ngx_http_upload_module モジュールを使用して、アップロードされたファイルを確認できます。

③ 安全な SQL クエリを使用する: SQL インジェクション攻撃は、パラメーター化されたクエリ、バインド変数、権限制御などを使用することで防止できます。

  1. XSS 攻撃の防止

XSS 攻撃は、Web アプリケーションの一般的な攻撃手法であり、Web ページに悪意のあるスクリプトを挿入することでユーザー情報を取得し、制御することができます。他のユーザー。 Nginx は次の方法で XSS 攻撃を防ぐことができます:

① 入力データをチェックしてフィルタリングします: Web アプリケーション ファイアウォールを使用して、悪意のあるスクリプトをチェックしてフィルタリングできます。

② 安全なエンコード方法を使用する: HTML エスケープまたは JavaScript エンコードを使用して、悪意のあるスクリプトの実行を回避できます。

つまり、Nginx は効率的で安全な Web サーバーであり、構成パラメータの調整、キャッシュと圧縮の有効化、静的ファイルの提供などによってパフォーマンスを向上させ、DDoS 攻撃、SQL インジェクション、XSS 攻撃を防ぐことができます。ウェブサイトのセキュリティを確保するためのその他の方法。したがって、Web アプリケーションを構築する場合は、Web サーバーおよびロードバランサーとして Nginx を使用することを優先することをお勧めします。

以上がNginx のパフォーマンスの最適化とセキュリティ設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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