iis使用nginx實現網站負載(轉)
如果你關注過nginx,必定知道nginx這個軟件有什麼用的,如果你的網站訪問量越來越高,一臺服務器已經沒有辦法承受流量壓力,那就增多幾臺服務器來做負載吧。做網站負載可以買硬件設備來實現,比如F5,不過價格就幾十萬到上百萬,夠貴,本文介紹做網站負載的軟件是免費的,nginx目前好多門戶網站與大訪問量的網站都在使用做爲HTTP服務器,所以nginx是非常優秀的,下面介紹做負載測試吧。
環境:(2臺服務器)
第一臺:
CPU:Inter(R) Pentium(R) 4 CPU2.8G
內存:1G
系統:windows 7
IIS: IIS 7
nginx:nginx/Windows-0.8.22
IP:172.10.1.97
環境:本地
第二臺:
CPU:Inter(R) Pentium(R) 4 CPU3.0G
內存:2G
系統:windows Server 2003
IIS: IIS 6
IP:172.10.1.236
環境:遠程
說明:
本次測試,軟件nginx放在本地(172.10.1.97),也就是說放在域名綁定的那臺服務器,這臺服務器的IIS不能使用80端口,因爲等下nginx軟件要使用80這個端口。
下載nginx的地址如下:
nginx下載:http://nginx.net/
本次測試使用的版本下載:nginx/Windows-0.8.22
下載解壓到C:,把目錄名改成nginx
好,下面進入實踐:
第一:
在本地(172.10.1.97)這臺服務器IIS創建一個網站,使用端口爲808,如下圖:
IIS 網站綁定設置圖
第二:
在遠程172.10.1.236的IIS創建一個網站,使用端口爲80,如下圖:
遠程IIS綁定設置圖
第三:
好了,以上已經設置好兩臺服務器的IIS了,下面配置nginx軟件來實現網站負載均衡,打開如下文件:
C: ginxconf ginx.conf
1、找到內容server {
在這上面加入如下內容:
upstream xueit.com {
server 172.10.1.97:808;
server 172.10.1.236:80;
}
(這是負載切換使用的服務器網站IP)
2、找到location / {
root html;
index index.html index.htm;
}
把內容更改如下:
location / {
proxy_pass http://xueit.com;
proxy_redirect default;
}
3、找到server {
listen 80;
server_name localhost;
把內容改成如下:
server {
listen 80;
server_name 172.10.1.97;
(這是監聽訪問域名綁定那臺服務器80端口的請求)
好,在這裏就這麼簡單配置好了,下面看下以上3步配置的圖:
負載配置圖
第四:
都配置好了,下面啓動nginx這軟件
進入命令提示符CMD,進入c: ginx》,輸入nginx命令,如下圖:
啓動nginx
這時候,系統進程有兩個nginx.exe進程,如下圖:
系統nginx進程
停止nginx運行輸入nginx -s stop 即可
第五:
經過以上的配置,現在我們看下負載效果:
在本地(172.10.1.97)這服務器打開IE,輸入:http://172.10.1.97
第一次打開網站的結果圖:
第一次運行網站圖
再刷新一下網頁,出現的結果圖:
再次訪問網站圖
很好,網站已經負載成功。
經過這次測試,實現網站負載再也不是難事了。也不用購買非常貴的硬件設備了。網上介紹說nginx軟件可以處理併發上萬,所以絕對是個非常不錯的選擇。
如果網站訪問量非常大,可以專門用一臺服務器跑nginx,其它服務器跑網站程序(幾臺服務器的程序都是一樣的),這樣負載就沒有太大問題,如果再不行,把網站一些欄目做一個2級域名,2級域名同樣做負載,這樣更厲害了吧。
nginx軟件在linux上跑性能比在windows上跑要好,所以做負載可以用linux跑nginx,.net開發的網站放到windows服務器IIS上