検索
ホームページ運用・保守Nginxnginxの負荷分散を行う方法

nginxの負荷分散を行う方法

Jun 20, 2019 pm 03:47 PM
nginx負荷分散

nginxの負荷分散を行う方法

#1. Nginx リバース プロキシ

nginx のロードバランシングを紹介する前に、nginx のリバースプロキシについて紹介しますが、リバースプロキシは一般的に使用されているため、ここではフォワードプロキシについては紹介しません。

nginx のプロキシ プロセスは、リクエストを nginx に送信し、そのリクエストをバックエンド サーバーに転送し、バックエンド サーバーに転送します。 -end サーバーは処理を完了します。その後、結果が nginx に送信され、nginx は結果をクライアントに送信します。バックエンド サーバーはリモートまたはローカルにすることも、nginx サーバー内で定義された別の仮想ホストにすることもできます。 nginx の転送を受け取るこれらのサーバーは、アップストリームと呼ばれます

nginx をプロキシとして使用する目的の 1 つは、インフラストラクチャの規模を拡大することです。 nginx は多数の同時接続を処理でき、リクエストが到着すると、nginx はリクエストを任意の数のバックグラウンド サーバーに転送して処理できます。これは、クラスター全体に負荷分散を分散することと同じです。

構文: proxy_pass URL

説明: URL は次の形式にすることができます: http://location:8000/uri/,など。「場所の設定」で見つけることができます。

例: 単純なリバース プロキシを作成してみましょう:

ポート 80 でリッスンするディレクトリには test_proxy ファイルがありませんが、私の 8080 ポート リスニング ディレクトリに、次のコンテンツをポート 80 のサーバーに追加しました:

location ~ /test_proxy.html$ {proxy_pass http://127.0.0.1:8080;}

次に、次のように入力しますブラウザ上で http://IP アドレス/test_proxy.html にアクセスすると、要求された情報が表示されます。実際には、ポート 80 がポート 8080 に転送され、データが返送されます。

2. バッファリング

nginx は、パフォーマンスを向上させるためのバッファリング メカニズムも提供します。バッファリングを行わない場合、データはバックエンド サーバーからクライアントに直接送信されます。バッファリングの機能は、バックエンドサーバーからの処理結果をnginx上に一時的に保存することで、nginxからバックエンドへの接続を早期に閉じてIOロスを軽減することができます。通常、コンテンツはメモリに保存されますが、コンテンツが多すぎてメモリが不足する場合、コンテンツは一時ファイル ディレクトリに保存されます。以下は、一般的に使用されるバッファリング設定項目の一部であり、http、server、および location コンテンツ ブロックの下にあります。

proxy_buffering: このコンテンツ ブロックでバッファリングを有効にするかどうかを制御します。デフォルトは「オン」です。

proxy_buffers: 2 つのパラメータがあり、1 つ目はバッファ リクエストの数を制御し、2 つ目はバッファ サイズを制御します。デフォルト値は 8、1 ページ (通常は 4k または 8k) です。値が大きいほど、より多くのコンテンツがバッファーされます。

proxy_buffer_size: バックエンド応答結果の最初のセグメント (ヘッダーを含む部分) は個別にバッファリングされます。この構成は、この部分のサイズを構成します。バッファー。この値のデフォルトは proxy_buffer と同じ値ですが、一般にヘッダーの内容が少ないため、より小さい値に設定できます。

proxy_busy_buffers_size: 「クライアント対応」としてマークされたバッファのサイズを設定します。クライアントは一度に 1 つのバッファからのみデータを読み取ることができ、バッファはキューの順序に従ってバッチでクライアントに送信されます。この構文は、このキューのサイズを構成します。

proxy_temp_path: nginx が一時ファイルを保存するパスを定義します。

proxy_max_temp_file_size: リクエストごとに一時ファイルを保存できるディレクトリのサイズ。アップストリームから送信された結果が大きすぎてバッファーに収まらない場合、nginx はそれらの結果のために一時ファイルを作成します。

3. 負荷分散

設定構文: アップストリーム名 {.......}

説明: name はカスタム名、{} は定義する必要があるコンテンツです。これは http ブロックでのみ定義でき、server ブロックでは定義できません。定義した後、location ブロックの下に次のコードを記述して、http://name を呼び出すことができます。

例: サーバーの数に制限があるため、ここでは 1 つのサーバーの異なるポートを使用して負荷分散をシミュレートします。もちろん、複数のサーバーの構成も同様です。

#次のコードをサーバー ブロックに追加します:

#アップストリーム テスト {#ip_hash サーバー IP:8001; サーバー IP:8002; サーバー IP:8003; }

次に、http ブロック内の場所に次のコンテンツを追加します。

location / {#サーバーがクライアントの実際の IP を取得できるように、ホスト ヘッダーとクライアントの実際のアドレスを設定しますproxy_set_header ホスト $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_connect_timeout 30;#接続タイムアウトを 30 秒に設定します proxy_send_timeout 60; proxy_read_timeout 60; proxy_buffer_size 32k; #バッファ サイズを設定 proxy_buffering on; #バッファを開く proxy_buffers 4 128k; #バッファの数とサイズを設定します proxy_busy_buffers_size 256k; #クライアント対応バッファ サイズを設定します proxy_max_temp_file_size 256k; # proxy_pass http://test; #上記のロード バランシング セットの呼び出し }

もちろん、次のことを思い出してください。設定するIP ポートは設定ファイルで事前に設定されます。例えば以下のような構成です。

nginxの負荷分散を行う方法

次に、ホスト アドレスにアクセスし、継続的に更新すると、各ポートから出力されるページ情報がわかります。デフォルトのロード バランシングではポーリングが使用されます。

# 負荷分散に別のサーバーを使用している場合は、次の構成などのわずかな変更を加えるだけで済みます。

アップストリーム mydomain.com{サーバー 47.95.242.167:80; サーバー 47.95.242.168:80; サーバー 47.95.242.169:80; }

設定後、http の残りのコードは上記と同様になり、他の 3 つのサーバーでも次のようになります。そこでの設定。もちろん、これら 3 つのサーバーにファイアウォールを設定する必要があります。

サーバー{80 を聞く; サーバー名 www.mydomain.com; indexindex.htmindex.phpindex.html;ルート ディレクトリ パス;}

①負荷分散スケジュールにおけるバックエンド サーバーのステータス

dowm:current サーバー当面は負荷分散には参加しません。

#backup: 予約済みのバックアップ サーバー。

max_fails: 許可されるリクエストの失敗の数。

fail_timeout: max_fails が失敗した後にサーバーが一時停止する時間。

max_conns: 受信接続の最大数を制限します。

注: 上記の設定はすべてアップストリーム中に設定されます。たとえば、{} に追加されたサーバー IP: 8001 down は、このサービスがサービスではないことを意味します。負荷分散に参加し、バックアップに使用されます。上記の設定はサービスの背後に書き込まれます。

②スケジュールアルゴリズム

ポーリング: 時系列順に異なるバックエンド サーバーに 1 台ずつ割り当てられます。

加重ポーリング: 設定されたサーバーの後にweight=numberを追加できます。数値が大きいほど、割り当ての確率が高くなります。

ip_hash: 各リクエストはアクセス IP のハッシュに応じて振り分けられるため、同じ IP からのバックエンド サーバーへのアクセスは固定されます。

least_hash: リンクの最小数。接続数が最も少ないマシンがそのマシンに配布されます。

url_hash: アクセスされた URL のハッシュ結果に従ってリクエストを振り分け、各 URL を同じバックエンド サーバーに振り分けます。

ハッシュ キー値: ハッシュ カスタム キー。

注: スケジューリング アルゴリズムはアップストリームの設定で構成されます。たとえば、中括弧内に ip_hash を記述することは、ip_hash を使用して

を割り当てることを意味します。詳細 Nginx 関連の技術記事については、Nginx チュートリアル 列にアクセスして学習してください。

以上がnginxの負荷分散を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

Nginxがポートを聴かずにドメイン名をリッスンするために、構成ファイルで構成する必要があります。 2.デフォルトのリスニングポートを削除します。 3。DNS解像度を構成します。 4。nginxを再起動します。このようにして、Nginxはドメイン名のみを聴き、セキュリティを改善し、SNIを有効にします。

nginxリスニングIPv6nginxリスニングIPv6Apr 14, 2025 am 06:18 AM

nginxにIPv6アドレスをリッスンさせるには、サーバーブロック構成でリッスンディレクティブを構成し、IPv6アドレスをパラメーターとして指定します。特定の手順には、NGINX構成ファイルの開き、サーバーブロック構成の追加、聞き取り命令の設定IPv6アドレスを指定し、変更を保存し、NGINXの再起動が含まれます。 WebサイトがSSL/TLSを使用している場合は、IPv6アドレスのSSL証明書を構成する必要もあります。

レイジュンは彼の新年の願いを共有しています:ジムで300,000台の車と100のチェックイン時間を配達しますレイジュンは彼の新年の願いを共有しています:ジムで300,000台の車と100のチェックイン時間を配達しますApr 13, 2025 pm 11:54 PM

新年の初めに、レイ・ジュンは新年の初めに2025年の3つの新年の願いを共有し、この4時間半のライブ放送は多くの注目を集めました。 Lei Junの3つの主要な願いは次のとおりです。最初に、300,000台の車両の配達目標を達成し、プレッシャーを軽減し、もはや進歩に巻き込まれません。第二に、旅行時間を増やし、世界中の美しい景色を楽しんだり、特別な食べ物を味わったり、仕事と組み合わせて車のテストを行います。第三に、フィットネスに固執し、体を強化するためにジムで100回チェックインする予定です。レイ・ジュンは、ライブ放送で、2024年にコンパクトなスケジュールで旅行したことを認めたので、彼はしばしば短時間しか滞在しなかったため、地元の文化を深く体験するのが難しくなりました。たとえば、ドイツの新しいノーススピードウェイでは、わずか8時間滞在しました。したがって、新年には、彼は仕事と生活と旅行のバランスを改善できることを望んでいます

年次評判の傑作! No.9 CompanyのMicro-Film「Memory Travel」は多くの権威ある賞を受賞しました年次評判の傑作! No.9 CompanyのMicro-Film「Memory Travel」は多くの権威ある賞を受賞しましたApr 13, 2025 pm 11:51 PM

No. 9とブランドのスポークスマンYi Yang Qianxiによって作成されたマイクロフィルム「メモリトラベル」は、2024年にいくつかの権威あるメディア賞を受賞し、今年の傑作になりました。この作品は、そのユニークな物語スタイル、絶妙な生産、誠実な感情で業界から高い評価を得ています。 2024年の賞と栄誉:2024ゴールドタッチグローバルビジネスイノベーション賞 - 毎年恒例の映画とテレビ広告2024中国広告マーケティング賞 - エンターテインメントマーケティンググループシルバーアワード2024トップデジタルイノベーションマーケティング賞 - 映画およびテレビプロダクションゴールドアワード2024上海国際広告フェスティバル - マイクロフィルムシルバーアワード2024第11日イノベーションアワード賞賞を受賞します。

イノベーションをリードし、別の名誉を獲得してください! AgonはPCONLINE2024 Zhizhen Technology Awardを受賞しましたイノベーションをリードし、別の名誉を獲得してください! AgonはPCONLINE2024 Zhizhen Technology Awardを受賞しましたApr 13, 2025 pm 11:48 PM

最近、PCONLine2024 Zhizhen Technology Awardが正式に発表され、Agon Aidong QD-Oled E-Sports Display Ag326udは「Technical Innovation of the Year」賞を受賞しました。この名誉は、業界の技術的利点と市場パフォーマンスの高い認識を表しているだけでなく、e-Sportsディスプレイテクノロジーの分野でのAgonの革新的な能力と顕著な成果を完全に反映しています。 01.テクノロジーの将来を見ると、Pconline Zhizhen Technology Awardの権威ある価値は、テクノロジー業界の天気の良いものです。 Pconline Zhizhen Technology Awardは、厳密な評価システムと詳細な業界分析により、業界の幅広い認識を首尾よく獲得しています。この賞は、テクノロジー業界の開発を促進する優れた製品やブランドを称賛することに常に取り組んできました。

ソニーは、PS5 Proで特別なGPUを使用してAMDを使用してAIを開発する可能性を確認していますソニーは、PS5 Proで特別なGPUを使用してAMDを使用してAIを開発する可能性を確認していますApr 13, 2025 pm 11:45 PM

Sony InteractiveEntertainmentのチーフアーキテクト(SIE、Sony Interactive Entertainment)のMark Cernyは、パフォーマンスアップグレードAMDRDNA2.xアーキテクチャGPU、およびAMDとの機械学習/人工知能プログラムコードノームの「Amethylst」を含む、次世代ホストPlayStation5Pro(PS5PRO)のハードウェアの詳細をリリースしました。 PS5PROパフォーマンスの改善の焦点は、より強力なGPU、高度なレイトレース、AI搭載のPSSRスーパー解像度関数を含む3つの柱に依然としてあります。 GPUは、SonyがRDNA2.xと名付けたカスタマイズされたAMDRDNA2アーキテクチャを採用しており、RDNA3アーキテクチャがあります。

最後に変わった! Microsoft Windows検索機能は新しいアップデートの先導最後に変わった! Microsoft Windows検索機能は新しいアップデートの先導Apr 13, 2025 pm 11:42 PM

MicrosoftのWindows検索機能に対する改善は、EUのWindows Insiderチャネルでテストされています。以前は、統合されたWindows検索機能はユーザーによって批判されており、経験が不十分でした。この更新は、検索機能を2つの部分に分割します。ローカル検索とBingベースのWeb検索でユーザーエクスペリエンスを向上させます。検索インターフェイスの新しいバージョンは、デフォルトでローカルファイル検索を実行します。オンラインで検索する必要がある場合は、[Microsoft BingWebsearch]タブをクリックして切り替える必要があります。切り替え後、検索バーには「Microsoft BingWebsearch:」が表示され、ユーザーはキーワードを入力できます。この動きにより、ローカル検索結果とBing検索結果の混合が効果的に回避されます

巧みにグリル!モンスターハンターは、20周年記念バーベキュータイマーとケトルを発売します巧みにグリル!モンスターハンターは、20周年記念バーベキュータイマーとケトルを発売しますApr 13, 2025 pm 11:39 PM

カプコンの「モンスターハンター」シリーズの20周年を祝うために、バウダオクラブはユニークな雑誌セットである「モンスターハンター」をテーマにしたバーベキュータイマーと付属カップを立ち上げました。このセットは、12月27日に日本の自宅のコンビニエンスストアで利用可能になり、3,498円で価格設定されます。この雑誌セットの最大のハイライトは、インタラクティブなバーベキュータイマーで、一連のゲームの古典的なバーベキューシーンを完全に複製します。タイマーは、LED Flame Light EffectsとGame BGMを備えた古いバージョンのバーベキューツールを使用して設計されており、実際のバーベキュープロセス中に狩猟の楽しみを体験できます。回転ハンドルは、反転したバーベキューをシミュレートします。ベーキングに成功した後、「ベイクド!」の音声プロンプトはプレイされます。タイマーサイズは約9.5cm(高さ)x 10.7cm(幅)x 8cm(深い)、内蔵l

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません