Nginx ロードバランシングの設定方法

Nginx ロードバランシングの設定方法

Nginx 負荷分散構成

nginxを使用して負荷分散を構成するのも比較的簡単です。

まず、httpブロックに仮想ドメイン名に対応するアドレスを設定します。

# アップストリームの負荷分散 myserver {
 サーバー 127.0.0.1:8080;
 サーバー 127.0.0.1:8082;
}

次にサーバーブロックでリスナーを設定します

サーバー{
 9000を聴く;
 server_name ローカルホスト;

 位置 / {
  ルートhtml;
  インデックス index.html index.htm;
  # 上記のアップストリームで設定された名前 proxy_pass http://myserver に対応します。
  
  ### 以下は、懸念される軽微な項目です。proxy_set_header Host $host;
  プロキシメソッド POST;

   #転送されないヘッダーフィールドを指定します proxy_hide_header Cache-Control;

   #転送ヘッダーフィールドを指定します proxy_pass_header Server-IP;

   # パッケージ本体を転送するかどうか proxy_pass_request_body on | off;

   # ヘッダーを転送するかどうか proxy_pass_request_headers on | off;

   # 表示/非表示 URI、アップストリーム リダイレクトが発生したときに Nginx が URI を同期的に変更するかどうか
  proxy_redirect オン | オフ;
 }
}

このように、ポート 9000 を使用してサーバーにアクセスすると、ポート 8080 と 8082 にロード呼び出しが行われます。

Nginx 負荷分散戦略

ポーリング(デフォルト)

時系列順に 1 つずつ異なるサーバーに配布します。バックエンド サーバーがクラッシュすると、自動的に削除されます。

重さ

重みは重みを表します。デフォルト値は1です。重みが大きいほど、より多くのリクエストが割り当てられます。

# アップストリームの負荷分散 myserver {
 サーバー 127.0.0.1:8080 重み=1;
 サーバー 127.0.0.1:8082 重み=2;
}

ip_ハッシュ

各リクエストはアクセスされた IP アドレスに従ってハッシュされるため、各訪問者は特定のサーバーにアクセスし、セッションの問題を解決できます。

# アップストリームの負荷分散 myserver {
  ip_ハッシュ;
 サーバー 127.0.0.1:8080;
 サーバー 127.0.0.1:8082;
}

公正(第三者)

リクエストの応答時間に応じて割り当て、どのサーバーが早く応答するかを決定

上記は、Nginx で負荷分散を構成する方法の詳細です。Nginx で負荷分散を構成する方法の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Nginx ロードバランシングの 4 つの構成例
  • Nginx の負荷分散構成、ダウンタイム発生時の自動切り替えモード
  • Nginx 負荷分散構成の簡単な構成方法
  • nginx のロードバランシングを設定する 5 つの方法
  • Nginx クラスタの負荷分散構成プロセスの分析
  • Nginx のシンプルな負荷分散構成例
  • Linuxシステム構成の詳細な説明 nginx ロードバランシング
  • nginx ロードバランシングの簡単な設定方法
  • 非常に詳細な nginx 負荷分散構成

<<:  HTML ベース URL タグ

>>:  MySQLからOracleへのリアルタイム同期ソリューションの詳細な説明

推薦する

Vue3における7種類のコンポーネント通信の詳細

目次1. Vue3コンポーネント通信方式2. Vue3通信の使い方2.1 小道具2.2 $エミット2...

JavaScriptでシンプルなスクロールウィンドウを実装する

この記事では、スクロールウィンドウを実装するためのJavaScriptの具体的なコードを参考までに紹...

element-uiのアップロードコンポーネントでファイルやその他のパラメータを転送する際の問題を分析する

最近、element-ui を統合したプロジェクトで vuethink を使用しました。以前は bo...

フォームの「Enter」、「Submit」、「Enter != Submit」を削除する方法

「Enter != Submit」問題を実装するには、通常、「ボタンの種類」と「入力ボックスの数」か...

MySQL ステートメントを使用した簡単な追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL ステートメントを使用して、単純な追加、削除、変更、およびクエ...

Web フォームの入力要素の高度な使用例 11 選

1. ボタンが押されたときに点線のボックスをキャンセルする<br />入力に属性値hid...

preタグを自動的に折り返すためのサンプルコード

pre 要素は、フォーマット済みのテキストを定義します。 pre 要素で囲まれたテキストでは、通常、...

MySQL InnoDB ストレージ エンジンの詳細

序文MySQL では、InnoDB はストレージ エンジン レイヤーに属し、プラグインとしてデータベ...

初心者向けWebサイト構築ガイド⑥:FlashFXPの詳しい使い方

今日は、サイトの設定やウェブサイトのアップロードなど、FlashFXP の最も基本的な機能を紹介しま...

JavaScript で配列遅延評価ライブラリを実装する方法

目次概要達成方法具体的な実装評価関数の終了を決定する生成関数の範囲変換関数マップフィルター割り込み機...

CSSのマッチング問題を解決する

問題の説明ご存知のとおり、CSS を記述する場合、HTML のクラスの定義または ID の定義に従っ...

本番環境でのMySQLパラメータsql_safe_updatesの使用に関する詳細な説明

序文アプリケーションのバグや DBA の誤操作が発生した場合、テーブル全体が更新される可能性がありま...

CSS疑似クラス名を数字で始めないでください

初心者が div+css を開発する場合、.ggg、#ccc などの形式の CSS 疑似クラス名を付...

JavaScript における Promise の詳細な説明

目次Promise の基本的な使用法: 1. Promiseオブジェクトを作成する2. プロミス方式...

Vue/React シングルページ アプリケーションをリフレッシュなしで復元するソリューション

目次導入なぜわざわざ?落とし穴のあるコミュニティソリューション(Vue を例に挙げる)現時点では良い...