­

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

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

 

系統環境:win10

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

 

1、本地先創建一個webapi項目,用於測試使用。

 

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

如果不曉得怎麼創建webapi項目,可以圍觀我的其他博客文章來了解,博客地址:【包括gRPC\minimalApi\傳統Webapi】//www.cnblogs.com/weskynet/p/15677719.html

 

3、下載Nginx,下載地址://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服務的文章://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: 如果沒找到申請入口,可以點擊該博客最初的原文鏈接進行加入://www.cnblogs.com/weskynet/p/16413830.html

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