日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

【转】Nginx系列(五)--nginx+tomcat实现负载均衡

發布時間:2025/6/17 Nginx 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Nginx系列(五)--nginx+tomcat实现负载均衡 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?

?

原博文出于: ?http://blog.csdn.net/liutengteng130/article/details/47129909? ?感謝!

?

?? ?Nginx占有內存少,并發能力強,事實上Nginx的并發能力確實在同類型的網頁伺服器中表現較好.目前中國大陸使用Nginx網站用戶有:新浪,網易,騰訊,淘寶等.

  以淘寶為例,進入淘寶主頁,按F12。選擇“NetWork”

?

?

? ? ? ??本文主要是基于Nginx搭建tomcat集群.

?

?

?

環境:

? ? ? ? ?Win8.1,JDK 1.6 ,?Nginx1.9.3

   Tomcat 7.0.63(兩個tomcat服務器)

?

?

?

?

結構:

?

?

?

?

一、Nginx之反向代理

?

1、Nginx配置:

  • upstreamlocahost{??
  • ?????#ip_hash;??
  • ?????server192.168.24.17:8080??weight=1;??
  • ?????server192.168.24.43:8080??weight=2;??
  • } ?
  • ?

    2、效果:

    ?

    ?  反向代理:對于客戶端而言,它就像是演示服務器,并且客戶端不需要進行任何特別的設置.客戶端反向代理的命名空間中的內容發送普通請求,接著反向代理將判斷向何處轉交請求,并將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣.前面博客:Nginx是什么?里面介紹了.

    ?

    ?

    ?

    ?

    二、Nginx之負載均衡

    ?

    1、實例

    a.Nginx配置

  • upstream192.168.24.17{??
  • ??????#ip_hash;??
  • ?????server192.168.24.17:8080??weight=1;??
  • ?????server192.168.24.43:8080??weight=2;??
  • }??
  • ????#gzip?on;??
  • ???
  • ????server?{??
  • ????????listen???????8888;??
  • ????????server_name??192.168.24.17;??
  • ???
  • ???????#charset?koi8-r;??
  • ???
  • ????????#access_log??logs/host.access.log??main;??
  • ???
  • ????????location?/?{??
  • ???root???html;??
  • ??????????index??index.html?index.htm;??
  • ??proxy_pass??http://192.168.24.17;??
  • ???
  • proxy_connect_timeout1;??
  • proxy_send_timeout30;??
  • proxy_read_timeout60;??
  • ???????}??
  • ???
  • ????????error_page???500?502?503?504??/50x.html;??
  • ???????location?=?/50x.html?{??
  • ????????????root???html;??
  • ???????} ?
  • ?

    ?

    ?

    b.配置說明:

    a.Weight:權重,值越大,命中率越高

    b.上面標紅的地方:192.168.24.17,這三處要一致才能實現負載均衡的效果.

    ?

    c.實驗效果:

    ?

    ?

    ?

    ?

      說明:這個IP以及端口號是nginx設置的名稱以及端口號.訪問后能分別調用到后端不同的服務器.實現負載均衡效果.進一步可以看出本實例使用的是輪詢的方式,也就是負載均衡默認的方式.

    ?

    2.原理

    ?

    1).upstream負載均衡模塊說明:

    ????????? upstreamNginxHTTP Upstream模塊,這個模塊通過一個簡單的調度算法來實現客戶端IP到后端服務器的負載均衡.在上面的設定中,聽過upstream指令指定了一個負載均衡的名稱為192.168.24.17.這個名稱可以任意指定,在后面需要用到的地方直接調用即可.

    ?

    2).updtream支持的負載均衡算法

    Nginx的負載均衡模塊目前支持4種調度算法.

  • 輪詢(默認).每個請求按時間順序逐一分配到不同的后端服務器,如果后端某臺服務器宕機,故障系統被自動提出,使用戶訪問不受影響.Weight指定輪詢權值,Weight值越大,分配到的訪問幾率越高,用于后端每個服務器性能不均的情況下.
  • ip_hash?每個請求按訪問IPhash結果分配,這樣來自同一個IP的訪客固定訪問一個后端服務器,有效解決了動態網頁存在的session共享問題.
  • fair這是比上面兩個更加智能的負載均衡算法.這種算法可以依據頁面大小和加載時間長短智能地進行負載均衡,也就是根據后端服務器的響應時間來分配請求,響應時間短的優先分配.Nginx本身是不支持fair,如果需要使用這種調度算法,必須下載Nginxupstream_fair模塊.
  • url_hash此方法按訪問urlhash結果來分配請求,使每個url定向到同一個后端服務器,可以進一步提高后端緩存服務器的效率.Nginx本身是不支持url_hash,如果需要使用這種調度算法,必須安裝Nginxhash軟件包.
  • ?

    3).upstream支持的狀態參數

    HTTP Upstream模塊匯總,可以通過server指令指定后端服務器的IP地址和端口,同時還可以設定每個后端服務器在負載均衡調度中的狀態.常用的狀態有:

  • down,表示當前的server暫時不參與負載均衡.
  • backup,預留的備份機器.當其他所有的非backup機器出現故障或者忙的時候,才會請求backup機器,因此這才記起的眼里最輕.
  • max_fails,允許請求失敗的次數,默認為1.當超過最大次數時,返回proxy_next_upstream模塊定義的錯誤.
  • fail_timeout,在經歷了max_fails次失敗后,暫停服務時間.max_fails可以和fail_timeout一起使用.
  • :當負載調度算法為ip_hash,后端服務器在負載均衡調度中的狀態不能使weightbackup.

    ?

    ????????通過這種方式,當我們的網站訪問量越來越大時,我們就能承受更多的壓力,并且能夠動態的添加服務器.配置負載均衡很簡單,那么如何實現多臺服務器之間session的共享呢?下篇繼續介紹.

    ?

    注意:nginx放到中文目錄下,啟動時會有問題.

    打印出來的日志:

    ????????[emerg] 10744#10916: CreateFile()"E:\02?Java內容學習匯總\Nginx\nginx-1.4.7/conf/nginx.conf"failed (1113: No mapping for the Unicode character exists in the targetmulti-byte code page)

    ?

    ?

    轉載于:https://www.cnblogs.com/zlslch/p/6033578.html

    總結

    以上是生活随笔為你收集整理的【转】Nginx系列(五)--nginx+tomcat实现负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。