Nginxは、逆プロキシサーバーとして使用できる高性能Webサーバーであり、負荷分散と高可用性を提供します。クライアントリクエストを複数のバックエンドサーバーに配布することにより、NGINXはWebサービスの応答速度と全体的なパフォーマンスを向上させることができます。その主な機能には、HTTPヘッダーのリクエスト転送、負荷分散、処理が含まれます。
交通量の多いWebアプリケーションでは、単一のサーバーはあまりにも多くのリクエストをホストすることができないため、ロードバランシングを通じて複数のバックエンドサーバーに配布する必要があります。さらに、リバースプロキシテクノロジーは、クライアントが最も近いサーバーと通信し、レイテンシを削減し、応答速度を向上させるのに役立ちます。 Nginxをプロキシサーバーとして構成することにより、ロードバランスを達成できるだけでなく、サービスの可用性と応答速度を効果的に改善することもできます。
ubuntuシステムでは、nginxをaptでインストールし、次のコマンドを使用できます。
sudo apt-getアップデート sudo apt-getインストールnginx
NGINXプロキシサーバーを構成するときは、最初にNGINX構成ファイルを変更する必要があります。ファイルパスは通常、/etc/nginx/ディレクトリにあります。
構成を変更する前に、元の構成ファイルをバックアップすることをお勧めします。次のコマンドを使用して、Original /etc/nginx/nginx.confファイルをバックアップします。
cd /etc /nginx sudo cp nginx.conf nginx.conf.bak
nginxの構成ファイルには、主に上流の定義とproxy_pass設定の2つの部分が含まれます。
HTTPセグメント内の複数のバックエンドサーバーのIPアドレスとポートを定義します。次の例では、3つのバックエンドサーバーを構成します。
http { 上流のバックエンド{ サーバー192.168.1.101:80重さ= 1; サーバー192.168.1.102:80重さ= 1; サーバー192.168.1.103:80重さ= 1; } }
サーバーセグメントでproxy_passを構成し、上記のバックエンドサーバーにリクエストを転送します。
サーバー{ 匂いく80; server_name example.com; 位置 / { proxy_pass http:// backend; } }
構成が完了したら、NGINXサービスを再起動して、新しい構成を有効にする必要があります。
Sudo Service Nginx Restart
基本的な構成を完了した後、パフォーマンスをさらに向上させるために、Nginxにいくつかの最適化を行うことができます。
キャッシュを有効にすることにより、Nginxは静的ファイルをメモリに保存し、リクエストの応答時間を短縮できます。次のコードを構成ファイルに追加して、キャッシュを有効にすることができます。
http { proxy_cache_path/var/cache/nginxレベル= 1:2 keys_zone = my_cache:10m inactive = 60m; proxy_cache_key "$ scheme $ request_method $ host $ request_uri"; proxy_cache_valid 200 304 12h; proxy_cache_valid 404 1m; }
GZIP圧縮を有効にすると、データ送信のサイズを縮小し、Webサービスの応答速度を改善できます。次のコードを構成ファイルに追加するだけです。
http { gzip on; gzip_min_length 1000; GZIP_TYPESテキスト/プレーンテキスト/CSSアプリケーション/JSONアプリケーション/JavaScriptテキスト/XMLアプリケーション/XML+XML/RSS Text/JavaScript; }
サーバーのCPUコアの数に従ってNginxのワーカープロセスの数を調整すると、パフォーマンスが向上する可能性があります。次の例は、CPUコアの数に基づいてワーカープロセスの数を自動的に設定する方法を示しています。
worker_processes auto; worker_cpu_affinity auto; worker_rlimit_nofile 8192;
Nginxプロキシサーバーの構成は、Webサービスの応答速度とパフォーマンスを大幅に改善できます。ロードバランス、逆プロキシ、およびキャッシュやGZIP圧縮などの最適化技術を合理的に構成することにより、より効率的でより安定したWebサービスを実現できます。構成プロセス中に、サーバーハードウェア環境に基づいて、対応する調整と最適化を行うことに注意してください。