WebApi を使用して複数のサーバーを展開し、Nginx ロード バランシングを構成するチュートリアル

WebApi を使用して複数のサーバーを展開し、Nginx ロード バランシングを構成するチュートリアル

01PARTCoreWebApiチュートリアルローカルデモ環境

Visual Studio2019---バージョン:16.4.4+NetCore3.1.2

02PARTNginxは負荷分散を素早く構築し構成します

Nginx は、BSD ライクなプロトコルに基づいてリリースされた軽量の Web サーバー/リバース プロキシ サーバーおよび電子メール (IMAP/POP3) プロキシ サーバーです。その特徴は、メモリの占有量が少なく、強力な同時実行機能を備えていることです。実際、nginx の同時実行機能は、同じタイプの Web サーバー間でより優れたパフォーマンスを発揮します。中国本土の nginx Web サイトのユーザーには、Baidu、JD.com、Sina、NetEase、Tencent、Taobao などがあります。

以下はNginxの設定手順を示しています。

1. Nginx パッケージをダウンロードします: http://nginx.org/en/download.html Nginx パッケージをダウンロードして保存するためのパスは英語である必要があり、中国語の文字を含めることはできないことに注意してください。

2. Nginx を起動します。ダウンロードした Nginx パッケージをダブルクリックして「nginx.exe」を開くか、コマンドを使用して起動します。コマンドの起動についてはここでは詳しく説明しません。起動後、タスク マネージャーを開くと、タスク マネージャーに Nginx サービスがあることがわかります。

3. このとき、Nginx を使用して負荷分散を設定できます。まず、複数の WebApi サーバーを起動して実行します。各サーバーの同じインターフェイスによって返されるデータはわずかに異なります。最初のサーバーのインターフェイスによって返されるデータ: Chaoxi Education---1、2 番目のサーバーのインターフェイスによって返されるデータ: Chaoxi Education---2、3 番目のサーバーのインターフェイスによって返されるデータ: Chaoxi Education---3。起動後の 3 つのサーバーのポートは、それぞれ 8011、8022、8033 です。つまり、8011 ポートは Chaoxi Education---1 を返し、8022 ポートは Chaoxi Education---2 を返し、8033 ポートは Chaoxi Education---3 を返します。つまり、3 つのサーバー コードは同じですが、ここで返される結果は異なり、違いをテストできるようにします。

4. 起動後のデバッグ結果は次のようになります。

http://127.0.0.1:8011/api/First は次を返します: Chaoxi Education---1;

http://127.0.0.1:8022/api/First は次を返します: Chaoxi Education---2;

http://127.0.0.1:8033/api/First は次を返します: Chaoxi Education---3;

図1

図2

図3

5. テストでは、3 つのサービスがすべて開始されていることが示されています。この時点で、3 つのサーバー Tonggu nginx クラスターを構成し、構成ファイルを構成し、

図4

構成ファイルを次のように変更します。

CMD はnginx-s reloadコマンドを実行し、サービスをリロードします。テストは次のようになります。

6. 同じアドレス http://127.0.0.1:8080/api/First を 3 回要求すると、3 つの異なる結果が返されます。

図1

図2

図3

要約する

複数サーバーへの WebApi の展開と Nginx の負荷分散構成に関するこの記事はこれで終わりです。複数サーバーへの WebApi の展開と Nginx の負荷分散構成の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル
  • Nginx の負荷分散構成、ダウンタイム発生時の自動切り替えモード
  • 中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)
  • Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例
  • Nginx ロードバランシング/SSL 構成の実装
  • Linux システムでの nginx サーバーのインストールと負荷分散構成の詳細な説明
  • Linux で Nginx ロード バランシングを使用して複数の Tomcat を構成する方法
  • Nginx サーバーの負荷分散と SSL の原理、SSL キー ペアの生成、Nginx 構成の SSL 操作の例
  • CentOS6.5環境でのnginxサーバーのインストールと負荷分散設定の詳細な説明
  • Nginx 負荷分散構成の簡単な構成方法
  • Linuxシステム構成の詳細な説明 nginx ロードバランシング
  • Nginx クラスタの負荷分散構成プロセスの分析
  • Nginx ロードバランシングとは何か、そしてそれをどのように設定するか

<<:  エラー 2002 (HY000): ソケット '/tmp/mysql.sock' 経由でローカル MySQL サーバーに接続できません

>>:  VueはWebSocketを使用してチャット機能をシミュレートします

推薦する

フレックスレイアウトとposition:absolute/fixedの競合の詳細な説明

以前、プロジェクトを開発しているときに、flex レイアウトと position:absolute/...

古典的なスネークゲームの JavaScript 実装

この記事では、古典的なスネークゲームを実装するためのJavaScriptの具体的なコードを参考までに...

MySQL ステートメントロックの実装の分析

概要: 2 つの MySQL SQL ステートメント ロックの分析次のSQL文にどのようなロックが追...

InnoDB エンジンの redo ファイルのメンテナンス方法

InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...

Vueはドラッグ可能なツリー構造図を実装します

目次Vue 再帰コンポーネントドラッグイベント最近、Vue を使用して、ドラッグ可能なツリー構造図と...

MySQLのトランザクション特性とレベル原則の分析

1. トランザクションとは何ですか?データベース トランザクション (略称: トランザクション) は...

Lvs+Nginx クラスターを使用して高並列アーキテクチャを構築する例

目次1. Lvsの紹介2. Lvs負荷分散モード2.1 NAT 2.2 ターン2.3 DRモード3....

NodeJS は画像テキスト分割を実現します

この記事では、画像テキストセグメンテーションを実装するためのNodeJSの具体的なコードを参考までに...

Dockerはコンテナに入るためにルートを使用する

まずdockerコンテナを実行しますルートユーザーとしてコマンドを実行する sudo docker ...

Linux サーバー上で nvidia-docker 環境を設定するプロセスの詳細な説明

Docker はコンテナに相当し、必要な動作環境に応じて対応する動作環境を構築できます。このとき、各...

入力ファイルの制御と美化について

一部のWebサイトでアップロードする場合、「参照」ボタンをクリックすると、[ファイルの選択]ダイアロ...

Docker で Python スクリプトを実行する方法

まず、Docker イメージ用の特定のプロジェクト ディレクトリを作成します。例: mkdir /h...

Nginx ベースの HTTPS ウェブサイトを設定する手順

目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...

チェックボックスの選択またはキャンセルを実装するJavaScript

この記事では、すべてのチェックボックスを選択または解除するためのJavaScriptの具体的なコード...