nginx Win下實現簡單的負載均衡(1)nginx搭建部署

龐順龍發表於2019-05-11

快速目錄:

一、nginx Win下實現簡單的負載均衡(1)nginx搭建部署

二、nginx Win下實現簡單的負載均衡(2)站點共享Session

三、nginx Win下實現簡單的負載均衡(3)Session的SqlServer模式配置


nginx Windows下 實現簡單的負載均衡,本文只是測試,理論nginx在Linux下才能發揮最大效能,Windows下可以使用lvs或者nlb來進行負載均衡處理,後續發文分享。

1、Nginx安裝

  1. 下載地址:http://nginx.org/en/download.html
  2. 解壓到後在windowcmd視窗,輸入如下圖所示的命令,進入到nginx目錄,使用“start nginx.exe ”進行nginx的安裝,如下圖所示:

2、站點搭建及配置

  1. 搭建兩個iis站,新建2個站點下只有一個簡單的index頁面,將兩個站點都部署到本機了,分別繫結了nginx_web_1 - 8097和nginx_web_2 - 8098兩個埠。
  2. 修改nginx配置資訊,nginx的配置資訊,都在nginx.conf ,這個檔案中配置
  3. a.修改nginx監聽埠,修改http server下的listen節點值,listen 8096;
    b.在http節點下新增upstream(伺服器叢集),server設定的是叢集伺服器的資訊,我這裡搭建了兩個站點,配置了兩條資訊。
    #伺服器叢集名稱為pangshunlong
    upstream pangshunlong {
      server 127.0.0.1: 8097; 
      server 127.0.0.1: 8098; 
    }
    c.在http節點下找到location節點修改
    location / {
      root html;
      index index.aspx index.html index.htm; #修改主頁為index.aspx
      #其中pangshunlong 對應著upstream設定的叢集名稱
      proxy_pass http:/ pangshunlong; 
      #設定主機頭和客戶端真實地址,以便伺服器獲取客戶端真實IP
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

3、執行結果

訪問http://localhost:8096


如上圖,請求被分發到了8097站點和8098站點,說明簡單的負載均衡就搭建成功了。
如果我們停掉iis上的8098站點,重新整理頁面,則請求會分發給8097 站點, 說明其中一個站點掛了,只要還有一個站點是好的,系統仍然能夠繼續提供服務

4.session共享(待發文,這裡只做說明)

  1. 使用資料庫儲存session資訊
  2. 使用nginx將同一ip的請求分配到固定伺服器,修改如下。ip_hash會計算ip對應hash值,然後分配到固定伺服器,(這個還沒試驗過)
  3. upstream test.com {
      server 127.0.0.1: 8097; 
      server 127.0.0.1: 8098; 
      ip_hash;
    }

搭建一臺Redis伺服器,對session的讀取都從該Redis伺服器上讀取

PS:參考了章小魚的技術部落格,另外是個江西IT單身技術宅男,幫他打個廣告,希望可以有妹子收了他~

請喊我大龍哥最後編輯於:3年前

內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。

相關文章