【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
再次感謝各位大佬捧場,祝大家擼代碼愉快~~