【Nginx】Windows平臺下配置Nginx服務實現負載均衡

WeskyNet發表於2022-06-26

前言:廢話不多說了,直接上步驟。

 

系統環境:win10

測試用的開發環境和服務型別:VS2022 + DotNet 6 + WebApi

 

1、本地先建立一個webapi專案,用於測試使用。

 

2、新建一個API控制器,裡面只提供一個Post請求型別的測試方法。

如果不曉得怎麼建立webapi專案,可以圍觀我的其他部落格文章來了解,部落格地址:【包括gRPC\minimalApi\傳統Webapi】https://www.cnblogs.com/weskynet/p/15677719.html

 

3、下載Nginx,下載地址:http://nginx.org/en/download.html

建議選擇下載穩定版 (Stable version),上面Mainline version是最新版。

 

4、對程式進行分身,為了驗證測試的最終效果,此處直接輸出三個不同的值用來區分。

 

5、分別把三個不同的輸出結果的程式拷貝出來,先區分一下,用來後面開啟三個程式做分散式測試使用。

 

6、分別啟動三個程式,此處給三個程式分別賦予埠號18888、18889、18890

 

7、啟動Nginx,並測試Nginx是否可以使用。正常情況下,啟動時候可能會一閃而過,所以可以通過 cmd 命令進行開啟。直接在根目錄下輸入 nginx.exe 即可;或者輸入start nginx 命令也是可以的。

啟動成功以後,瀏覽器輸入 localhost,會有如下圖的提示效果,說明Nginx啟動成功。

但是這樣的啟動方式,每次都會比較麻煩,都需要手動來啟動,比較反人類。所以可以通過nssm工具來把nginx服務部署成windows服務。如果想了解nssm怎麼部署成Windows服務,可以參考我的另一篇部署elk服務的文章:https://www.cnblogs.com/weskynet/p/14961565.html

 

 

8、先測試一下啟動的api服務是不是正常,先通過api測試工具,例如postman呼叫一下,檢視效果。如下,訪問了18888埠,即第一個程式,返回了first,說明api是可以訪問成功的。

 

9、在Nginx根目錄下,conf資料夾下,有它的配置檔案們。nginx.conf配置檔案可以用來配置負載均衡的策略有關。此處我用來配置監聽10080埠,然後進行反射到18888、18889、18890三個地址。其他介紹,如圖內的文字描述所述。

 

10、讓配置生效,通過命令 nginx -s reload 即可生效,無需重啟nginx服務。

 

 

 

11、使用postman進行測試,把埠改為nginx監聽的10080埠,然後不斷點選send進行檢視結果,可以看到結果會不斷變化,說明可以隨機訪問nginx反向代理的三個api服務;並且由於配置的權重不一致,所以會有third的結果出現的頻率最多的情況。如果要都很平均,可以都設定為一樣的值即可。

最後:以上就是該文章的全部內容,如有幫助,歡迎點贊、推薦、轉發和評論。謝謝各位大佬圍觀。

如果有想法一起吹牛聊技術,也可以下方點選加入Q群。或者掃描下方二維碼加我私人微信,我拉你進群,也是OK的。

PS: 如果沒找到申請入口,可以點選該部落格最初的原文連結進行加入:https://www.cnblogs.com/weskynet/p/16413830.html

再次感謝各位大佬捧場,祝大家擼程式碼愉快~~

 

相關文章