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を使用してチャット機能をシミュレートします

推薦する

Linux で time(NULL) 関数と localtime() を使用して現在の時刻を取得する方法

time(); 関数関数プロトタイプ: time_t time(time_t *timer)関数の目...

nginxで複数のサーバーを簡単に構成する方法

1: nginx のインストール方法については詳しく説明しません。Baidu で検索してください。 ...

CSS メニューボタンアニメーション

ドロップダウンメニューを書くには、ボタンをクリックします。メニューの入り口はアイコンボタンをクリック...

vue+px2rem(rem適応)を使用してPCで大画面適応を実装するためのサンプルコード

構成の序文プロジェクト構築: vue-cli3 をベースに構築、rem 適応には postcss-p...

Node.js で簡単なクローラーケースを作成するチュートリアル

準備まず、nodejs をダウンロードする必要がありますが、これは問題ないはずです。原文はwebst...

MySQLデータベース最適化技術の簡単な紹介

成熟したデータベース アーキテクチャは、最初から高可用性、高スケーラビリティなどの機能を備えて設計さ...

Vue 条件付きレンダリング v-if と v-show

目次1. 動詞-if 2. <template> で v-if を使用する3. キーを使...

React で複数の setStates が何回呼び出されるのでしょうか?

目次1. 2 つの setState を何回呼び出すのですか? 2. 2 つの setState の...

React+Typescriptはカウントダウンフックメソッドを実装します

まず、setIntervalはフックとしてカプセル化されます👇 'react' から...

nginx ウェブサイト サービスのアンチホットリンクを設定する方法 (推奨)

1. ホットリンクの原則1.1 Webページの準備Web ソース ホスト (192.168.153...

ヘッダーのチェックボックスをテキスト実装コードに変更するための選択テーブルを持つ要素

方法1: テーブル属性を使用する: header-cell-class-name テーブルインターフ...

npm グローバル モジュールのデフォルトのインストール パスを変更するためにノードのインストールをカスタマイズする手順

node を D ドライブにインストールしましたが、C ドライブのスペースを占有したくなかったため、...

Vueはメニューナビゲーションを実装するためにelement-uiを使用します

この記事では、Element-uiを使用してメニューナビゲーションを実装するVueの具体的なコードを...

MySQLのパフォーマンスが突然低下する理由

場合によっては、SQL ステートメントが通常どおり、非常に速く実行される状況に遭遇することがあります...

Vue3.0はチェックボックスコンポーネントのカプセル化を実装します

この記事では、チェックボックスコンポーネントのカプセル化を実装するためのvue3.0の具体的なコード...