一、實現整體方式介紹
項目中部署在windows服務器上的項目,需要部署負載均衡,本來想用nginx來配置的,奈何iis上有幾個項目,把80端口和443端口占用了,nginx就用不了了(因為通過域名訪問的,必須要用80和443端口),只能通過IIS的方式實現了。
這里用2個服務在一臺機器上負載來做演示,2個服務+一個代理我們需要建3個網站
127.0.0.1:8050 (代理網站,客戶端訪問的地址,用來綁定訪問的域名和端口的)
127.0.0.1:8051(負載的服務1,代理網站會轉發到這里來)
127.0.0.1:8052(負載的服務2,代理網站會轉發到這里來)
?二、配置負載均衡服務
1、首先需要安裝ARR和URL重寫2個IIS的功能
這里安裝包上傳到了網盤。https://pan.baidu.com/s/10BZkDEuSXu_9UWmga9NFbA?pwd=loie
安裝完后,我們的服務器就多了這兩個功能了,如果負載均衡是多臺服務器的,只需要代理那臺安裝就可以了。
?
2、把前面3個網站先準備好
先創建網站proxy,指向一個空文件夾,綁定端口8050
為了防止出一些問題,代理的應用程序池設置回收時間為0即不回收
?
再創建一個web1綁定8051,一個web2綁定8052,指向的文件夾為網站的文件夾,這里只在文件夾里放一個index.html,里面就一段文字區分。
?
?
3、上面3個可以訪問的站點都創建好了,下面創建負載的服務器場
?
?
?
?
下一步如果彈出是否自動創建url 重寫規則,選否,后面我們再手動創建,不然全部端口的請求都會轉發到這里的負載上來,我們實際是只需要轉發8050端口的請求到負載上就行了。
在創建的Server中取消緩存,不然訪問同請求地址會直接緩存返回,不經過站點
?
?還可以配置站點健康檢查
?
?
?
?
?其它一些功能
?三、把請求轉發到負載均衡器
創建URL重寫規則,把代理站端口的請求轉發到上面配置的負載均衡器
?
?
?
?條件處,如果用的是域名的且http和https都使用的可以用任意匹配,然后,添加
輸入:{HTTP_HOST}:{SERVER_PORT}? 模式:^test.fadmescloud.com:80$
輸入:{HTTP_HOST}:{SERVER_PORT}? 模式:^test.fadmescloud.com:443$
?到這里就可以了,訪問8050端口,會轉發到負載的站點8051和8052
?