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

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

首先本身從宏觀把控一下,經過上網科普本身遇到問題,而後再站在這些巨人的肩膀上解決問題。nginx

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

解決方案主要有如下幾個方面:數據庫

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

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


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

首先上網查資料nginx相關原理,文字性描述感受很無聊,因而本身總結兩張對比圖,以下:session

一、通常狀況下(未使用nginx服務器流程):架構

 二、使用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就流通了。

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

相關文章
相關標籤/搜索