亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2022年08月25日 10:34:45   作者:西瓜那么甜  
負載均衡用于從“upstream”模塊定義的后端服務器列表中選取一臺服務器接受用戶的請求,下面這篇文章主要給大家介紹了關于使用nginx進行負載均衡的搭建全過程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

1. nginx負載均衡介紹

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

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

image-20220430184503049

2. nginx負載均衡策略

以下截圖為nginx官網文檔

image-20220430184551926

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

  • 最少連接

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

  • ip hash

基于客戶端ip的分配方式

2.1 輪詢

以循環(huán)方式分發(fā)對應用服務器的請求,將請求平均分發(fā)到每臺服務器上。

2.1.1 普通輪詢方式

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

http {
    # 定義轉發(fā)分配規(guī)則
    upstream myapp1 {
        server srv1.com; # 要轉發(fā)到的服務器,如ip、ip:端口號、域名、域名:端口號
        server srv2.com:8088;
        server 192.168.0.100:8088;
    }

    server {
        listen 80; # nginx監(jiān)聽的端口

        location / {
        	# 使用myapp1分配規(guī)則,即剛自定義添加的upstream節(jié)點
        	# 將所有請求轉發(fā)到myapp1服務器組中配置的某一臺服務器上
            proxy_pass http://myapp1; 
        }
    }
}

2.1.2 權重輪詢方式

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

# 定義轉發(fā)分配規(guī)則
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 最少連接

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

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

2.3 ip hash

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

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

# 定義轉發(fā)分配規(guī)則
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目錄下創(chuàng)建test目錄,然后在test目錄中創(chuàng)建index.html文件,隨便寫入一些內容,兩臺tomcat中test目錄下的index.html文件內容要區(qū)分開來,例如寫入1111111 / 222222222,如下圖所示。

image-20220430190133097

image-20220430190139573

3.2 nginx配置

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

http://chabaoo.cn/article/231249.htm

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

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

server節(jié)點下的location /節(jié)點中,把默認的

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

修改為

location / {
	proxy_pass http://tomcat;
}

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

總結

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

相關文章

  • Nginx配置多個HTTPS域名的方法

    Nginx配置多個HTTPS域名的方法

    本篇文章主要介紹了Nginx配置多個HTTPS域名的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • nginx服務器access日志中大量400 bad request錯誤的解決方法

    nginx服務器access日志中大量400 bad request錯誤的解決方法

    這篇文章主要介紹了nginx服務器access日志中大量400 bad request錯誤的解決方法,本文結論是空主機頭導致的大量400錯誤日志,關閉默認主機的日志記錄就可以解決問題,需要的朋友可以參考下
    2015-01-01
  • Nginx防止直接用IP訪問Web服務器的設置方法

    Nginx防止直接用IP訪問Web服務器的設置方法

    看了很多Nginx的配置,好像都忽略了ip直接訪問Web的問題,這樣理論上不利于SEO優(yōu)化,所以我們希望可以避免直接用IP訪問網站,而是域名訪問,具體怎么做呢,看下面
    2012-09-09
  • 使用Nginx實現(xiàn)負載均衡的策略

    使用Nginx實現(xiàn)負載均衡的策略

    本篇文章主要介紹了使用Nginx實現(xiàn)負載均衡的策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 深入理解nginx的access.log文件

    深入理解nginx的access.log文件

    NGINX軟件會把每個用戶訪問網站的日志記錄到指定的日志文件里,供網站者分析用戶的瀏覽行為,本文主要介紹了nginx的access.log文件,感興趣的可以了解一下
    2023-09-09
  • Nginx支持websocket的配置詳解

    Nginx支持websocket的配置詳解

    本文主要介紹了Nginx支持websocket的配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 詳解Nginx 被動檢查服務器的存活狀態(tài)

    詳解Nginx 被動檢查服務器的存活狀態(tài)

    Nginx 可以持續(xù)測試您的上游服務器,避免出現(xiàn)故障的服務器,并將恢復的服務器優(yōu)雅地添加到負載均衡組中。這篇文章主要介紹了Nginx 被動檢查服務器的存活狀態(tài),需要的朋友可以參考下
    2021-10-10
  • Nginx下升級https的方法步驟

    Nginx下升級https的方法步驟

    這篇文章主要介紹了Nginx下升級https的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Nginx的流式響應配置實現(xiàn)小結

    Nginx的流式響應配置實現(xiàn)小結

    nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器,本文主要介紹了Nginx的流式響應配置實現(xiàn)小結,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 服務器報錯nginx?502?Bad?Gateway的原因及如何解決詳解

    服務器報錯nginx?502?Bad?Gateway的原因及如何解決詳解

    項目啟動時莫名其妙網站訪問不了,502 Bad Gateway,下面這篇文章主要給大家介紹了關于服務器報錯nginx?502?Bad?Gateway的原因及如何解決的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06

最新評論