前言:廢話不多說了,直接上步驟。
系統環境: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
再次感謝各位大佬捧場,祝大家擼程式碼愉快~~