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

推薦する

デザインスキルを向上させる良い方法

いわゆる才能(左脳と右脳)つまり、芸術的な才能があるかどうかは、人間の左脳と右脳の分業によって主に決...

srcまたはcss背景画像のurl値はbase64でエンコードされたコードです

ウェブ上の一部の画像の src または CSS 背景画像 URL の後に、data:image/pn...

sqlite を mysql スクリプトに移行する方法

さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 パーレル # # https:/...

json.stringify() と json.parse() の違いと使い方

1. JSON.stringify() と JSON.parse() の違い私たちは皆、JSON.s...

Vue3 コンパイルプロセス - ソースコード分析

序文: Vue3 がリリースされてからかなり経ちますが、最近、会社のプロジェクトでVue3 + Ty...

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非...

CSS 読み込み効果の実装 パックマン

えーっと、名前はただの推測です 2333序文これは練習用の CSS デモです。何か間違っている点があ...

Vueはスクロールバースタイルを実装します

最初はブラウザのスクロールバーのスタイルを変更して効果を実現したいと思っていましたが、情報を調べてみ...

Docker ベースの Etcd 分散デプロイメントの方法と手順

1. 環境整備1.1 基本環境NTP設定: 省略 #時間の一貫性を確保するためにNTPサービスを設定...

HTML テーブル境界制御実装コード

一般的に、テーブルを使用する場合は、常に <table border="1"...

mycat を使用して MySQL データベースの読み取りと書き込みの分離を実装する例

MyCATとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベースク...

RGBA の「a」は何を意味するのでしょうか? CSS RGBA カラー ガイド

RGBAは色の値と透明度を設定できるCSSカラーです以下は、rgba() を使用して白色を 50% ...

CSS における要素の表示モード

CSS では、要素タグは、要素の表示モードの違いに応じて、インラインレベル要素とブロックレベル要素の...

Linuxネットワーク設定の基本操作コマンドを詳しく解説

目次ネットワーク構成を表示するネットワークインターフェース情報を表示する---ifconfigルーテ...

アイデアを war パッケージにパッケージ化し、tomcat にデプロイしてアクセス パスの問題 (図とテキスト)

Web プロジェクトを war にパッケージ化するアイデアにとって最も重要なことは、アトリフィカを...