首頁 >運維 >Nginx >Nginx負載平衡設定實例分析

Nginx負載平衡設定實例分析

PHPz
PHPz轉載
2023-05-28 16:07:121333瀏覽

【實作功能】

1、設定三台伺服器

2、分別在三台伺服器上部署同樣的服務代碼

# 3.使用nginx實現負載平衡

【實作想法】

我們的nginx負載平衡器將部署在一台交互伺服器上,配置與其他兩台伺服器的連接,所有的請求直接存取nginx服務接口,然後nginx負載平衡器將自行選擇真實調用的伺服器連接埠。

【開發及部署環境】

開發環境:windows 7 x64 sp1 英文版

     visualstudio 2017

部署環境:阿里雲ecs實例windows server 2012 x64

     iis 7.0

【所需技術】

asp.net webapi2

##【所需技術】

asp.net webapi2

#【實作過程】

使用asp.net webapi2 寫一個簡單地返回json的接口,為了展示我們調用的是不同伺服器上的接口,我們以數字形式分別產生三個接口服務,並且分別部署到三台伺服器的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 =====");
     }
我部署的三台伺服器後面的數字分別是111,222,333

註:return ok是自己自訂的回傳格式,具體簡單程式碼可以直接return json() ;

request.getipaddressfromrequest();是本人擴展的獲取ip位址的方法,具體實作請按自身情況實作。

Nginx負載平衡設定實例分析【系統測試】

Nginx負載平衡設定實例分析我們將三個後台程式碼產生後,分別部署到三個伺服器上。

為了保密伺服器訊息,以下我的所有ip位址都將以ip_a,ip_b,ip_c來識別

Nginx負載平衡設定實例分析

第三個是我們將要部署nginx的伺服器:

Nginx負載平衡設定實例分析

部署好後,我們進行nginx的設定:

Nginx負載平衡設定實例分析下載nginx:

Nginx負載平衡設定實例分析然後解壓縮到ip_c伺服器,並開啟conf資料夾下的nginx.conf

##編輯內容如下

Nginx負載平衡設定實例分析

然後我們啟動服務:Nginx負載平衡設定實例分析

cmd指令切換到nginx的根目錄下

##這樣,服務就算啟動了... 吐槽一句,為什麼不提示一句服務啟動成功呢..欸,不人性化!

然後我們開啟任一介面測試工具,分別執行三次相同的請求:Nginx負載平衡設定實例分析

請求一、

Nginx負載平衡設定實例分析

請求二、

Nginx負載平衡設定實例分析

請求三、

###############可以發現,我們每一次的請求,呼叫的後台服務介面都不是同一個,這樣就保證了在大量客戶訪問同一個伺服器位址時候,可以將一個伺服器的壓力分別分攤到幾個伺服器上,達到了負載均衡的目的。 ###

以上是Nginx負載平衡設定實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除