天天看點

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

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

系統環境:win10

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

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

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

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

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

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

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

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

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

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

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

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

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

6、分别啟動三個程式,此處給三個程式分别賦予端口号18888、18889、18890

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

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

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

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

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

8、先測試一下啟動的api服務是不是正常,先通過api測試工具,例如postman調用一下,檢視效果。如下,通路了18888端口,即第一個程式,傳回了first,說明api是可以通路成功的。

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

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

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

10、讓配置生效,通過指令 nginx -s reload 即可生效,無需重新開機nginx服務。

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

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

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

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

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

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

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

歡迎加入QQ群:

群号:1079830632

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

繼續閱讀