ホームページ  >  記事  >  運用・保守  >  Nginx負荷分散構成例の分析

Nginx負荷分散構成例の分析

PHPz
PHPz転載
2023-05-28 16:07:121282ブラウズ

[実装機能]

1. 3台のサーバーを設定します

2. 同じサービスコードを3台のサーバーにそれぞれデプロイします

3. 利用します負荷分散を実現する nginx

#[実装のアイデア]

私たちの nginx ロード バランサーは対話型サーバーにデプロイされ、他の 2 つのサーバー接続で構成され、すべてのリクエストが直接行われます。 nginx サービス インターフェイスにアクセスすると、nginx ロード バランサーが実際の呼び出しサーバー ポートを選択します。

【開発・展開環境】

開発環境:Windows 7 x64 sp1 英語版

Visualstudio 2017

展開環境: Alibaba Cloud ecs インスタンス Windows Server 2012 x64

iis 7.0

[必要なテクノロジー]

asp.net webapi2

[実装プロセス]

asp.net webapi2 を使用して、単に json を返すインターフェイスを作成します。異なるサーバー上のインターフェイスを呼び出していることを示すために、デジタル形式で 3 つのインターフェイスを生成します。それぞれ 3 つのサーバー上の iis にデプロイされます。

public ihttpactionresult gettest()
    {
       //throw new exception_dg_internationalization(1001);
       string ip = request.getipaddressfromrequest();
       return ok("test api . client ip address is -> "+ip+" the server is ===== 333 =====");
     }

デプロイした 3 つのサーバーの後ろの番号は 111、222、および 333

注: return ok は私がカスタマイズした戻り形式です。特定の単純なコードの場合は、直接 json() を返すことができます;

request.getipaddressfromrequest(); は IP アドレス取得の拡張メソッドですので、状況に応じて実装してください。

[システム テスト]

3 つのバックグラウンド コードを生成した後、それらを 3 つのサーバーにそれぞれ展開します。

サーバー情報の機密性を保つため、以下のすべての IP アドレスは ip_a、ip_b、ip_c によって識別されます

Nginx負荷分散構成例の分析

Nginx負荷分散構成例の分析

3 番目のサーバーは、nginx をデプロイするサーバーです:

Nginx負荷分散構成例の分析

デプロイ後、nginx を構成します:

nginx をダウンロードします:

Nginx負荷分散構成例の分析

次に、それを ip_c サーバーに解凍し、conf フォルダー内の nginx.conf を開きます。

Nginx負荷分散構成例の分析

内容を次のように編集します

Nginx負荷分散構成例の分析

次に、サービスを開始します。

cmd コマンドは、nginx のルート ディレクトリに切り替えます

Nginx負荷分散構成例の分析

Nginx負荷分散構成例の分析## このように、サービスが開始されても... 単なるクレームです。サービスが正常に開始されたことを通知しないのはどうでしょうか... まあ、それは人道的ではありません!

次に、任意のインターフェイス テスト ツールを開き、同じリクエストを 3 回実行します:

Request 1、

Nginx負荷分散構成例の分析

リクエスト 2、

Nginx負荷分散構成例の分析

リクエスト 3、

Nginx負荷分散構成例の分析 それこれにより、多数の顧客が同じサーバー アドレスにアクセスした場合に、1 台のサーバーの負荷が複数のサーバーに割り当てられ、負荷が分散されます。目的。

以上がNginx負荷分散構成例の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。