最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx中keepalive配置小結

 更新時間:2023年09月20日 09:15:44   作者:一個風輕云淡  
本文介紹了Nginx keepalive配置的概念和作用,闡述了keepalive連接的基本原理和優(yōu)勢,并給出了一些常用的配置示例,具有一定的參考價值,感興趣的可以了解一下

keepalive基礎介紹

keepalive是HTTP/1.1協(xié)議中的一個特性,它允許客戶端和服務器之間的TCP連接在一個HTTP請求/響應周期結束后保持打開狀態(tài),以便在后續(xù)的請求中重復使用。這樣可以減少TCP連接的建立和關閉次數(shù),從而提高性能。

(注意:keepalive是tcp層長連接探活機制;keep-alive是應用層http協(xié)議使用,在其頭部Connection字段中的一個值,只是代表客戶端與服務之間需要保持長連接,可以理解為通過此字段來告訴nginx此連接需要維持長連接,處理完別直接關閉連接。) 

  • 連接維護:keepalive會維護長連接,并在連接超時時間內重新連接,以確保服務器端始終處于運行狀態(tài)。
  • 提高效率:通過維護長連接,可以減少建立和關閉連接所需的時間,從而提高服務器的效率。
  • 節(jié)省帶寬:由于keepalive可以維護長連接,因此減少了建立和關閉連接所需的網(wǎng)絡流量,從而節(jié)省了帶寬。
  • 穩(wěn)定性:通過心跳包維護連接,可以確保服務器端始終處于運行狀態(tài),從而提高了網(wǎng)站的穩(wěn)定性和可用性。

為什么使用HTTPs長連接技術?

  • 對響應時間要求較高;
  • 服務走的是公網(wǎng),客戶端與服務端的TCP建立的三次握手和斷開的四次揮手都需要40ms左右(真實數(shù)據(jù)包計算出來的),共需要80ms左右;
  • 每個接入方使用的IP就若干個,需要建立的請求連接有限。
  • 使用長連接技術,可以大幅減少TCP頻繁握手的次數(shù),極大提高響應時間;同時,即使使用長連接技術,也不需要消耗很多的系統(tǒng)資源用來緩存sockets會話信息。 
http {
upstream backend {
  server 192.168.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
  server 192.168.0.2:8080 weight=1 max_fails=2 fail_timeout=30s;
  keepalive 300;      
}  
server {
  listen 8080 default_server;
  server_name "";
location / {
  proxy_pass http://backend;
  proxy_http_version 1.1;                   #設置http版本為1.1
  proxy_set_header Connection "";           #設置Connection為長連接(默認為no)
  }
}

 HTTP 協(xié)議中對長連接的支持是從 1.1 版本之后才有的,因此最好通過 proxy_http_version 指令設置為 1.1。HTTP1.0不支持keepalive特性,當沒有使用HTTP1.1的時候,后端服務會返回101錯誤,然后斷開連接。而 "Connection" header 可以選擇被清理,這樣即便是 Client 和 Nginx 之間是短連接,Nginx 和 upstream 之間也是可以開啟長連接的。這種情況下必須清理來自 Client 請求中的 “Connection” header。

要想做到Client與Nginx之間保持長連接,需要:

  • -  Client發(fā)送過來的HTTP請求要求攜帶"keep-alive"header。
  • -  Nginx設置支持keepalive 

Nginx中的keepalive配置項

keepalive_timeout  

Nginx 使用 keepalive_timeout 來指定 KeepAlive 的超時時間(timeout),指定每個 TCP 連接最多可以保持多長時間。Nginx 的默認值是 75 秒,有些瀏覽器最多只保持 60 秒,所以可以設定為 60 秒。若將它設置為 0,就禁止了 keepalive 連接。

#?可用于?http,?server,?location?配置塊
#?設置?TCP?鏈接保持?60?秒
keepalive_timeout?60s;

send_timeout 

服務端向客戶端傳輸數(shù)據(jù)的超時時間。這個設置不會用于整個轉發(fā)器,而是在兩次客戶端讀取操作之間。如果在這段時間內,客戶端沒有讀取任何數(shù)據(jù),Nginx就會關閉連接。

# 配置段: http, server, location
send_timeout 30s;

keepalive_request

keepalive_requests:默認100,某個長連接連續(xù)處理請求次數(shù)限制,超過次數(shù)則該長連接被關閉;如果需要釋放某個連接占用的內存,必須關閉該鏈接,內存不大的情況下,不建議開大該配置;在QPS較高的場景,則有必要加大這個參數(shù)

# 配置段: http, server, location  
keepalive_request 10000;

應用場景

什么時候使用?

明顯的預知用戶會在當前連接上有下一步操作 復用連接,有效減少握手次數(shù),尤其是https建立一次連接開銷會更大

什么時候不用?

訪問內聯(lián)資源一般用緩存,不需要keepalive 長時間的tcp連接容易導致系統(tǒng)資源無效占用

到此這篇關于Nginx中keepalive配置小結的文章就介紹到這了,更多相關Nginx keepalive配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • nginx配置方式(反向代理、限速、url重寫)

    nginx配置方式(反向代理、限速、url重寫)

    文章主要介紹了Nginx的反向代理和正向代理的基本概念、應用場景、緩存服務器的使用以及限速保護的方法,同時,還詳細講解了Nginx的URL重寫功能和一些常用的變量
    2024-11-11
  • Nginx代理WebSocket失敗的完整排查過程

    Nginx代理WebSocket失敗的完整排查過程

    在開發(fā)基于 WebSocket 的實時應用時,使用 Nginx 作為反向代理是常見做法,可是我遇見了后端直連 WebSocket 成功,通過 Nginx 代理卻失敗,本文將完整復盤一次真實排查過程,帶你避開所有坑,需要的朋友可以參考下
    2025-11-11
  • Nginx反向代理中出現(xiàn)502錯誤的解決步驟

    Nginx反向代理中出現(xiàn)502錯誤的解決步驟

    反向代理是一種服務器代理的方式,它代理了客戶端的請求并將請求轉發(fā)給后端服務器,然后將后端服務器的響應返回給客戶端,但經(jīng)常會遇到502錯誤,所以本文給大家介紹了Nginx反向代理中出現(xiàn)502錯誤的解決步驟,需要的朋友可以參考下
    2025-03-03
  • nginx前綴匹配的實現(xiàn)

    nginx前綴匹配的實現(xiàn)

    在nginx的配置文件中,很容易的看到location的模塊,本文主要介紹了nginx前綴匹配的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-04-04
  • nginx location 配置 正則表達式實例詳解

    nginx location 配置 正則表達式實例詳解

    本文通過實例代碼給大家介紹了nginx location 配置 正則表達式的問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 一次nginx 504 Gateway Time-out錯誤排查、解決記錄

    一次nginx 504 Gateway Time-out錯誤排查、解決記錄

    這篇文章主要介紹了一次nginx 504 Gateway Time-out錯誤排查、解決記錄,經(jīng)過反復檢查,發(fā)現(xiàn)造成這個問題的原因就是PHP的CURL沒有設置超時時間,解決辦法只要設置超時時間或者修改一下nginx的配置即可解決,需要的朋友可以參考下
    2014-05-05
  • nginx配置引發(fā)的403問題解決辦法

    nginx配置引發(fā)的403問題解決辦法

    這篇文章主要介紹了nginx配置引發(fā)的403問題解決辦法的相關資料,需要的朋友可以參考下
    2017-06-06
  • Kubernetes中Nginx服務啟動失敗排查流程分析(Error:?ImagePullBackOff)

    Kubernetes中Nginx服務啟動失敗排查流程分析(Error:?ImagePullBackOff)

    這篇文章主要介紹了Kubernetes中Nginx服務啟動失敗排查流程(Error:?ImagePullBackOff),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Nginx靜態(tài)資源優(yōu)化、壓縮、緩存詳解

    Nginx靜態(tài)資源優(yōu)化、壓縮、緩存詳解

    文章主要介紹了如何優(yōu)化Nginx對靜態(tài)資源的處理,包括sendfile、tcp_nopush和tcp_nodelay三個屬性的配置,以及如何通過設置Gzip來壓縮靜態(tài)資源,此外,還詳細解釋了Web緩存的概念,包括客戶端緩存和服務器緩存,并介紹了瀏覽器緩存的相關指令和執(zhí)行流程
    2025-12-12
  • nginx中的proxy_redirect的使用案例詳解

    nginx中的proxy_redirect的使用案例詳解

    proxy_redirect 該指令用來修改被代理服務器返回的響應頭中的Location頭域和“refresh”頭域,這篇文章主要介紹了nginx中的proxy_redirect的使用案例詳解,需要的朋友可以參考下
    2024-06-06

最新評論

太康县| 托克托县| 宝山区| 余庆县| 湖南省| 南郑县| 莲花县| 台州市| 洞口县| 中山市| 桂平市| 清镇市| 灌南县| 徐州市| 剑川县| 吴旗县| 南阳市| 龙泉市| 汉阴县| 威远县| 台东县| 宁蒗| 巩留县| 沁阳市| 铜鼓县| 福建省| 屯留县| 全椒县| 肃宁县| 海兴县| 舟山市| 桑植县| 武川县| 红河县| 裕民县| 清水河县| 陆川县| 永胜县| 泰和县| 高唐县| 女性|