1. 程式人生 > >window設定Nginx+iis實現負載均衡

window設定Nginx+iis實現負載均衡

window下跑nginx,輕鬆實現負載均衡實驗環境:(2臺伺服器)
第一臺:
系統:Win2003
nginx:nginx/Windows-0.8.32
IP:192.168.0.51
環境:本地
第二臺:
系統:Win2003
IP:192.168.0.52
環境:遠端
說明:
本次測試,軟體nginx放在本地(192.168.0.51),也就是說放在域名繫結的那臺伺服器,這臺伺服器的IIS不能使用80埠,因為等一下nginx軟體要使用80這個埠。(為了方便,我將本機的hosts檔案添加了我要測試的域名192.168.0.51 www.g.cn)
下載nginx的地址如下:
nginx下載:http://nginx.net/
下載解壓到C:\,把目錄名改成nginx
一切準備就緒,開始實驗:
No.1:
在本地(192.168.0.51)這臺伺服器IIS建立一個網站,使用埠為808,如下圖:
IIS 網站繫結設定圖

No.2:
在遠端192.168.0.52的IIS建立一個網站,使用埠為80,如下圖:

No.3:
好了,以上已經設定好兩臺伺服器的IIS了,下面配置nginx軟體來實現網站負載均衡,開啟如下檔案:
C:\nginx\conf\nginx.conf
1、找到內容server {
在它的上面加入如下內容:
upstream www.g.cn {
server 192.168.0.51:808;
server 192.168.0.52:80;
}
(這是負載切換使用的伺服器網站IP)
2、找到location / {
root html;
index index.html index.htm;
}
把內容更改如下:
location / {
proxy_passhttp://www.g.cn;
proxy_redirect default;
}
3、找到server {
listen 80;
server_name localhost;
把內容改成如下:
server {
listen 80;
server_name 192.168.0.51;
(這是監聽訪問域名繫結那臺伺服器80埠的請求)
好,在這裡就這麼簡單配置好了,下面看下以上3步配置的圖:
負載配置圖

No.4:
都配置好了,下面啟動nginx這軟體
進入命令提示符CMD,進入c:\nginx>,輸入nginx命令,如下圖:

啟動nginx
這時候,系統程序有兩個nginx.exe程序,如下圖:

系統nginx程序
(停止nginx執行輸入nginx -s stop 即可)
No.5:
經過以上的配置,現在我們看下負載效果:
在本地(192.168.0.51)這伺服器開啟IE,輸入:http://192.168.0.51
第一次開啟網站的結果:
第一次訪問網站圖

重新整理一下網頁,出現的結果:

再次訪問網站圖
OK,測試成功o(∩_∩)o
經過這次測試,可見網站的負載平衡並不是難事。也沒有必要另外購買硬體裝置。補充一點,nginx軟體在linux上跑效能比在windows上跑要好,所以做負載可以用linux跑nginx,.net開發的網站放到windows伺服器IIS上。
如果網站訪問量非常大,可以專門用一臺伺服器跑nginx,其它伺服器跑網站程式(幾臺伺服器的程式都是一樣的),這樣負載就沒有太大問題,如果再不行,把網站一些欄目做一個2級域名,2級域名同樣做負載,這樣就ok了。