如果你關注過nginx,必定知道nginx這個軟體有什麼用的,如果你的網站訪問量越來越高,一台伺服器已經沒有辦法承受流量壓力,那就增多幾台伺服器來做負載吧。做網站負載可以買硬體裝置來實現,比如F5,不過價格就幾十萬到上百萬,夠貴,本文介紹做網站負載的軟體是免費的,nginx目前好多門戶網站與大訪問量的網站都在使用做為HTTP伺服器,所以nginx是非常優秀的,下面介紹做負載測試吧。
環境:
(2台伺服器)
第一台:
CPU:Inter(R) Pentium(R) 4 CPU 2.8G
記憶體:1G
系統:windows 7
IIS: IIS 7
nginx:nginx/Windows-0.8.22
IP:172.10.1.97
環境:本地
第二台:
CPU:Inter(R) Pentium(R) 4 CPU 3.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:\nginx\conf\nginx.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:\nginx>,輸入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上。
本文來自:http://www.xueit.com/usenetwork/show-4866-1.aspx