国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

使用nginx進行負載均衡的搭建全過程

瀏覽:35日期:2023-03-13 15:37:36
目錄
  • 1. nginx負載均衡介紹
  • 2. nginx負載均衡策略
    • 2.1 輪詢
      • 2.1.1 普通輪詢方式
      • 2.1.2 權重輪詢方式
    • 2.2 最少連接
      • 2.3 ip hash
      • 3. nginx負載均衡搭建示例
        • 3.1 tomcat配置
          • 3.2 nginx配置
          • 總結

            1. nginx負載均衡介紹

            nginx應用場景之一就是負載均衡。在訪問量較多的時候,可以通過負載均衡,將多個請求分攤到多臺服務器上,相當于把一臺服務器需要承擔的負載量交給多臺服務器處理,進而提高系統的吞吐率;另外如果其中某一臺服務器掛掉,其他服務器還可以正常提供服務,以此來提高系統的可伸縮性與可靠性。

            下圖為負載均衡示例圖,當用戶請求發送后,首先發送到負載均衡服務器,而后由負載均衡服務器根據配置規則將請求轉發到不同的web服務器上。

            2. nginx負載均衡策略

            以下截圖為nginx官網文檔

            nginx內置負載均衡策略主要分為三大類,分別是輪詢、最少連接和ip hash

            • 最少連接

            請求分配給活動連接數最少的服務器,哪臺服務器連接數最少,則把請求交給哪臺服務器,由nginx統計服務器連接數

            • ip hash

            基于客戶端ip的分配方式

            2.1 輪詢

            以循環方式分發對應用服務器的請求,將請求平均分發到每臺服務器上。

            2.1.1 普通輪詢方式

            該方式是默認方式,輪詢適合服務器配置相當,無狀態且短平快的服務使用。另外在輪詢中,如果服務器掛掉,會自動剔除該服務器。

            http {    # 定義轉發分配規則    upstream myapp1 {server srv1.com; # 要轉發到的服務器,如ip、ip:端口號、域名、域名:端口號server srv2.com:8088;server 192.168.0.100:8088;    }    server {listen 80; # nginx監聽的端口location / {	# 使用myapp1分配規則,即剛自定義添加的upstream節點	# 將所有請求轉發到myapp1服務器組中配置的某一臺服務器上    proxy_pass http://myapp1; }    }}

            2.1.2 權重輪詢方式

            如果在 upstream 中配置的server參數后追加 weight 配置,則會根據配置的權重進行請求分發。此策略可以與least_conn和ip_hash結合使用,適合服務器的硬件配置差別比較大的情況。

            # 定義轉發分配規則upstream myapp1 {	server srv1.com weight=1; # 該臺服務器接受1/6的請求量	server srv2.com:8088 weight=2; # 該臺服務器接受2/6的請求量	server 192.168.0.100:8088 weight=3; # 該臺服務器接受3/6的請求量;}

            2.2 最少連接

            輪詢算法是把請求平均的轉發給各個后端,使它們的負載大致相同;但是,有些請求占用的時間很長,會導致其所在的后端負載較高。這種情況下,least_conn這種方式就可以達到更好的負載均衡效果,適合請求處理時間長短不一造成服務器過載的情況。

            # 定義轉發分配規則upstream myapp1 {	least_conn; # 把請求分派給連接數最少的服務器	server srv1.com;	server srv2.com:8088;	server 192.168.0.100:8088;}

            2.3 ip hash

            這個方法確保了相同的客戶端的請求一直發送到相同的服務器,這樣每個訪客都固定訪問一個后端服務器。如用戶需要分片上傳文件到服務器下,然后再由服務器將分片合并,這時如果用戶的請求到達了不同的服務器,那么分片將存儲于不同的服務器目錄中,導致無法將分片合并,該場景則需要使用ip hash策略。

            需要注意的是,ip_hash不能與backup同時使用,另外當有服務器需要剔除,必須手動down掉,此模式適合有狀態服務,比如session。

            # 定義轉發分配規則upstream myapp1 {	ip_hash; # #保證每個請求固定訪問一個后端服務器	server srv1.com;	server srv2.com:8088;	server 192.168.0.100:8088;}

            3. nginx負載均衡搭建示例

            該示例使用一臺nginx作為負載均衡服務器,兩臺tomcat作為web服務器;可以把三個服務均在一臺機器進行搭建,也可以使用虛擬機虛擬三臺機器,然后進行測試。教程這里就只在一臺機器進行搭建,采用默認的權重方式進行配置。

            3.1 tomcat配置

            將兩臺tomcat解壓出來,配置完畢相應的端口,然后在webapps目錄下創建test目錄,然后在test目錄中創建index.html文件,隨便寫入一些內容,兩臺tomcat中test目錄下的index.html文件內容要區分開來,例如寫入1111111 / 222222222,如下圖所示。

            3.2 nginx配置

            首先進行nginx的安裝,安裝教程可以參考

            安裝完畢后,進入nginx目錄下的conf目錄,編輯 nginx.conf 文件,修改內容為在http節點下增加

            upstream tomcat { # 該部分內容與 server 節點同級	server tomcat服務的ip:tomcat服務的端口號;	server tomcat服務的ip:tomcat服務的端口號;}

            server節點下的location /節點中,把默認的

            location / {	root   html;	index  index.html index.htm;}

            修改為

            location / {	proxy_pass http://tomcat;}

            然后啟動 兩臺tomcat與nginx服務,在瀏覽器輸入nginx服務的地址:端口,不停刷新頁面,就可以看到每次請求的服務器發生了改變。

            總結

            到此這篇關于使用nginx進行負載均衡的文章就介紹到這了,更多相關nginx負載均衡內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

            標簽: Nginx
            相關文章:
            主站蜘蛛池模板: 日韩欧美视频一区二区三区 | 综合久色 | 碰碰碰免费公开在线视频 | 亚洲免费专区 | 国产精品视频免费播放 | 日日撸夜夜操 | 爽爽视频在线观看 | 午夜影院0606 | 玖玖爱zh综合伊人久久 | 精品自拍视频在线观看 | 亚洲欧美自拍偷拍 | 国产精品免费看久久久久 | 亚洲国产精品激情在线观看 | 成人做爰视频www片 成人做爰视频www视频 | 五月色一区二区亚洲小说 | 毛片免费全部免费观看 | 国产自在自线午夜精品 | 亚洲综合天堂网 | 久久久久久久91精品免费观看 | 国产欧美日韩综合精品一区二区 | 欧美级 | 日本久久香蕉一本一道 | 91成人在线免费视频 | 色老头一区二区三区在线观看 | 亚洲精品国产一区二区在线 | 小明台湾成人永久免费看看 | 成 人 动漫在线观看网站网站 | 亚洲乱码一二三四五六区 | 欧美激情一区二区三区高清视频 | 国产精品黄在线观看免费 | 午夜性爽快免费视频播放 | 国产香港特级一级毛片 | 欧美成人高清手机在线视频 | 伊在人亚洲香蕉精品区 | 综合558欧美成人永久网站 | 99热久久国产精品免费观看 | 国产在线手机视频 | 国产一级生活片 | 国产免费观看a大片的网站 国产免费黄色网址 | 在线视频一区二区三区四区 | 国产成人精品日本亚洲语音2 |