1. 程式人生 > >搭建服務器集群——Windows7系統中nginx與IIS服務器搭建集群實現負載均衡

搭建服務器集群——Windows7系統中nginx與IIS服務器搭建集群實現負載均衡

文件 優化 安裝 ngnix nginx 忽略 總結 器) image

分布式,集群,雲計算機、大數據、負載均衡、高並發······當耳邊響起這些詞時,做為一個菜鳥程序猿無疑心中會激動一番(或許這是判斷是否是一個標準阿猿的標準吧)!

首先自己從宏觀把控一下,通過上網科普自己遇到問題,然後再站在這些巨人的肩膀上解決問題。

問題:在大型WEB應用程系統中,由於請求的數量過大及並發的因素,導致Web系統會出現宕機的現象!

解決方案主要有以下幾個方面:

  1. IIS負載均衡。
  2. 數據庫負載均衡。
  3. 系統架構優化,比如:報表服務器和應用服務器的分離等。

接下來就是研究與解決,很簡單首先撿個軟柿子捏,根據常識以及方案排序,決定拿IIS來開刀。


兩張圖理解其中的業務流程

首先上網查資料nginx相關原理,文字性描述感覺很無聊,於是自己總結兩張對比圖,如下:

1、一般情況下(未使用nginx服務器流程):

技術分享圖片

2、使用nginx服務器後流程【註:本圖以一級nginx服務器為例】:

技術分享圖片

根據這兩張圖對比,不難得出以下結論:

利用nginx管理起IIS服務器後:

  1. 可靠性大大增強:一臺或多臺IIS服務器宕機,服務不中斷!細心的讀者發現如果nginx服務器宕機那?當然可以通過配置多個及多級nginx服務器來解決。
  2. 處理大訪問量時大大減小IIS服務器壓力,提高訪問速度。
  3. 消耗硬件資源多:多增加一臺服務器(在數據量不大的時候nginx也可與IIS共用一臺服務器)與N臺IIS服務器!不過在硬件成本不斷降低以及高可靠性的今天,對於大訪問量網站,這個影響幾乎可以忽略不計。要不然也不會有這麽多的用戶比如國內的用戶:百度,新浪,網易,騰訊等。

理解了nginx的邏輯後我們著手部署一個環境實戰一下。


實戰部署集群實現賦值均衡

【準備工作】

  • 安裝一款文本編輯器(這裏以Notepad++為例,使用記事本打開文件有時會是亂碼)
  • 下載Nginx(這裏以Nginx-1.4.7為例,其他版本操作相同,下載地址:http://nginx.org/en/download.html)
  • 建兩個簡單網頁:使用vs建立四個簡單的web項目)
  • 將上面建兩個網頁分別發布在IIS上不同端口號,並測試發布成功(IISNgNix1項目端口為8001,IISNgNix2項目端口為8002,IISNgNix3項目端口為8003,IISNgNix4項目端口為8004)

技術分享圖片

【配置Nginx】

使用文本編輯器編輯Nginx配置文件(到你解壓的相對路徑下面的conf文件夾下面的nginx.conf文件編輯)

技術分享圖片

進入修改主要修改四個地方,如圖一一標註出來了(溫馨提示:不要用記事本打開修改否則可能會亂碼)

技術分享圖片

使用Dos命令進入Nginx文件夾並啟動Nginx(這裏以將Nginx文件夾放在D盤根目錄下為例)

  • 進入D盤: d:
  • 進入文件夾:cd D:\nginx-1.4.7
  • 開啟nginx:start nginx

有個nginx的相關命令可到官網進行查看,或者百度也有很多。

技術分享圖片

【實現效果】

現在讓我們一起見證奇跡吧!

打開瀏覽器,在地址欄中輸入剛才在Nginx中設置的代理(這裏是192.168.0.43:8888)

技術分享圖片

按F5刷新(大家如果有興趣可以更改配置文件中Weight中的比例來看效果,我這裏設置了2權重,也就是說第一個會分配的多一些):

技術分享圖片


【總結】

簡單的部署一個服務器集群實現負載均衡是很容易的,但是運用到實戰中就會有很多問題。

比如我們的session就是一個大問題,因為不同的iis之間session是不共享的,

導致我們項目的session會無效,這裏小夥伴們有什麽好的方法的。

小編想我們是不是可以做一個session服務器做共享,每個iis都經過session服務器,這樣的話session就流通了。

具體效果如何我們等待分析。

搭建服務器集群——Windows7系統中nginx與IIS服務器搭建集群實現負載均衡