如果你的網站訪問量(pv)越來越高,一臺服務器已經沒有辦法承受流量壓力,那就增多幾臺WEB服務器來做負載吧。
做網站負載可以買硬件設備來實現,我們公司用的是F5,不過價格就幾十萬到上百萬,太貴了,
目前好多門戶網站與大訪問量的網站都在使用nginx做為HTTP服務器,所以nginx是非常優秀的,下面我親手做這個負載測試吧。
軟/硬件環境:
(2臺服務器)
第一臺:
CPU:Inter(R) 酷睿 i5 CPU 2.26GHz
內存:2G
系統:windows 7
IIS: IIS 7
nginx:nginx/Windows-0.8.22
IP:10.60.44.126
環境:本地
第二臺:
CPU:Inter(R) 酷睿 i3 CPU 2.13GHz
內存:2G
系統:windows Server 2003
IIS: IIS 6
IP:10.60.44.127
環境:遠程
注意:
本次測試,軟件nginx放在本地(10.60.44.126),也就是說放在域名綁定的那臺服務器,這臺服務器的IIS不能使用80端口,因為等下nginx軟件要使用80這個端口。
下載nginx的地址如下:
nginx下載:http://nginx.net/
本次測試使用的版本下載:nginx/Windows-0.8.22
下載解壓到C:,把目錄名改成nginx
實踐步驟:
第一:
在本地(10.60.44.126)這臺服務器IIS創建一個網站,使用端口為808,如下圖:
IIS 網站綁定設置圖
第二:
在遠程10.60.44.127的IIS創建一個網站,使用端口為808,如下圖:
遠程IIS綁定設置圖
注意:第一步和第二步綁定相同的網站程序!
第三:
好了,以上已經設置好兩臺服務器的IIS了,下面配置nginx軟件來實現網站負載均衡器,打開如下文件:
C:/nginx/conf/nginx.conf
1、找到內容server {
在這上面加入如下內容:
upstream chenlu.com {
server 10.60.44.126:808;
server 10.60.44.127:808;
}
(這是負載切換使用的服務器網站IP)
2、找到location / {
root html;
index index.html index.htm;
}
把內容更改如下:
location / {
proxy_pass http://chenlu.com/;
proxy_redirect default;
}
3、找到server {
listen 80;
server_name localhost;
把內容改成如下:
server {
listen 80;
server_name 10.60.44.126;
(這是監聽訪問域名綁定那臺服務器80端口的請求)
好,在這里就這么簡單配置好了,下面看下以上3步配置的圖:
負載均衡器配置圖
第四:
都配置好了,下面啟動nginx這軟件
進入命令提示符CMD,進入c:/nginx>,輸入nginx命令,如下圖:
啟動nginx
這時候,系統進程有兩個nginx.exe進程,如下圖:
系統nginx進程
停止nginx運行輸入nginx -s stop 即可
第五:
經過以上的配置,現在我們看下負載效果:
在本地(10.60.44.126)這服務器打開IE,輸入:http://10.60.44.126/
第一次打開網站的結果圖:
第一次運行網站圖
再刷新一下網頁,出現的結果圖:
再次訪問網站圖
很好,網站已經負載成功。
經過這次測試,實現網站負載再也不是難事了。也不用購買非常貴的硬件設備了。網上介紹說nginx軟件可以處理并發上萬,所以絕對是個非常不錯的選擇。
如果網站訪問量非常大,可以專門用一臺服務器跑nginx,其它服務器跑網站程序(幾臺服務器的程序都是一樣的),這樣負載就沒有太大問題,如果再不行,把網站一些欄目做一個2級域名,2級域名同樣做負載,這樣更厲害了吧。
nginx軟件在linux上跑性能比在windows上跑要好,所以做負載可以用linux跑nginx,.net開發的網站放到windows服務器IIS上。
注意:
1找到本地機器的 /WINDOWS/system32/drivers/etc,修改hosts文件,添加10.60.44.126 www.chenlulouis123456.com 注釋掉#host
2 找到遠程機器的 /WINDOWS/system32/drivers/etc,修改hosts文件 10.60.44.127 www.chenlulouis123456.com
3.
upstream chenlu.com
{
server 10.60.44.126:808;
server 10.60.44.127:808;
}
server {
listen 80;
server_name http://www.chenlu123456.com/;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://chenlu.com/;
proxy_redirect default;
}
進過以上步驟,就可以使本地和遠程機器通過域名訪問做實驗,避免實際域名綁定。
希望大家喜歡哈!