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へのリアルタイム同期ソリューションの詳細な説明

推薦する

Linux のパスワードを紛失した場合にリセットする方法

1. スタートアップメニューでは、カーソルを最初の行に移動します - eを押します 2. UTF-8...

Mac OS 10.11 での MySQL 5.7.12 のインストールと設定のチュートリアル

Mac OS 10.11 に MySQL をインストールして設定する方法を、主に写真を使って手順を簡...

Centos7でのSambaサーバー構成(実戦)

サンバの概要Samba は、Linux および UNIX システム上で SMB プロトコルを実装する...

JavaScript リフレクション学習のヒント

目次1. はじめに2. インターフェース3. 簡単な例4. 結論1. はじめにMDN の公式 Web...

MySQL テーブルの追加、削除、変更、クエリの基本チュートリアル

1. 作成する [テーブル名] (フィールド1、フィールド2、...) 値 (値1、値2、...) ...

JavaScript の toLocaleString() での時間フォーマットに関する新しいアイデア

目次1. 時刻表示に関する従来の考え方2. 時刻の書式設定 toLocaleString() Obj...

Vue で eslint 検出をオフにする方法 (複数の方法)

目次1. 問題の説明2. 問題解決1. 問題の説明Vue プロジェクトを開発する場合、作成時に誤って...

MySQL 増分バックアップとブレークポイントリカバリスクリプトの例

導入増分バックアップとは、完全バックアップまたは最後の増分バックアップの後、後続の各バックアップでは...

MySQLで行を列に変換する方法

MySQL の行から列への操作いわゆる行から列への操作は、テーブルの行情報を列情報に変換することです...

HTML での非同期ファイルアップロードの例

コードをコピーコードは次のとおりです。 <form action="/hehe&qu...

CentOS 7 パスワードを忘れた場合の解決プロセス図

必要Windows システムでも Linux システムでも、さまざまな理由でパスワードを忘れてしまう...

仮想マシンでXshell5をLinuxに接続する方法と障害の解決方法

かなり前に仮想マシンをインストールしましたが、ようやく Linux をインストールしました。マシンの...

MySQLチュートリアルDMLデータ操作言語の例の詳細な説明

目次1. データ操作言語 (DML) 2. データを追加する(挿入) 3. 既存のテーブルをコピーし...

SQL文のANDとORの実行順序で発生する問題

質問昨日、データベースSQLを書いているときに問題が発生しました。問題の根本は、SQL ステートメン...

UDP DUP タイムアウト UPD ポート状態検出コード例

以前、単純な UDP サーバーとクライアントの例を書きましたが、その中で、自分自身をクライアントと見...