欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx的流式響應(yīng)配置教程

 更新時(shí)間:2024年11月21日 15:26:26   作者:蝸牛去旅行吧  
Nginx的流式響應(yīng)是指反向代理服務(wù)器在接收到響應(yīng)的同時(shí)逐步發(fā)送給客戶端,以提高用戶體驗(yàn)和網(wǎng)絡(luò)傳輸效率,通過配置關(guān)閉緩存和代理緩沖、開啟分塊傳輸編碼、禁用Nagle與延遲ACK算法,并增加keepalive超時(shí)時(shí)間,可以實(shí)現(xiàn)代理服務(wù)器與客戶端間的流式響應(yīng)傳輸

Nginx的流式響應(yīng)配置

Nginx的流式響應(yīng)(streaming response)是指在Nginx作為反向代理服務(wù)器時(shí),將響應(yīng)內(nèi)容一邊接收,一邊逐步發(fā)送給客戶端的過程。

這種響應(yīng)方式可以提高用戶體驗(yàn)和網(wǎng)絡(luò)傳輸效率,常用于處理較大的響應(yīng)內(nèi)容。

在默認(rèn)情況下,Nginx是通過緩存響應(yīng)內(nèi)容來處理請(qǐng)求的。

也就是說,當(dāng)Nginx接收到完整的響應(yīng)后,才會(huì)將其發(fā)送給客戶端。

但是,在某些場(chǎng)景下,這種方式可能會(huì)導(dǎo)致延遲較高或者請(qǐng)求失敗的情況發(fā)生。

因此,Nginx提供了流式響應(yīng)的功能,讓反向代理服務(wù)器能夠在接收到響應(yīng)的同時(shí),逐步地將響應(yīng)內(nèi)容發(fā)送給客戶端。

這種方式可以減少等待時(shí)間,同時(shí)降低網(wǎng)絡(luò)傳輸?shù)呢?fù)載壓力。

實(shí)現(xiàn)Nginx的流式響應(yīng)

需要在Nginx配置文件中加入相應(yīng)的指令,例如:

也就是打字機(jī)效果,

# 不緩存,支持流式輸出
    proxy_cache off;  # 關(guān)閉緩存
    proxy_buffering off;  # 關(guān)閉代理緩沖
    chunked_transfer_encoding on;  # 開啟分塊傳輸編碼
    tcp_nopush on;  # 開啟TCP NOPUSH選項(xiàng),禁止Nagle算法
    tcp_nodelay on;  # 開啟TCP NODELAY選項(xiàng),禁止延遲ACK算法
    keepalive_timeout 300;  # 設(shè)定keep-alive超時(shí)時(shí)間為65秒

這段nginx配置是為了解決流式響應(yīng)的問題。

通過以下幾個(gè)配置來實(shí)現(xiàn)

proxy_cache off; # 關(guān)閉緩存
  • 關(guān)閉緩存,防止代理服務(wù)器緩存流式響應(yīng)內(nèi)容,導(dǎo)致客戶端收不到完整響應(yīng)。
proxy_buffering off; # 關(guān)閉代理緩沖
  • 關(guān)閉代理服務(wù)器對(duì)響應(yīng)的緩沖,防止其緩沖整個(gè)響應(yīng)后再發(fā)送給客戶端,無法實(shí)現(xiàn)流式傳輸效果。
chunked_transfer_encoding on; # 開啟分塊傳輸編碼
  • 開啟分塊傳輸編碼,允許將響應(yīng)分成多個(gè)塊進(jìn)行傳輸,實(shí)現(xiàn)流式傳輸。
tcp_nopush on; # 開啟TCP NOPUSH選項(xiàng),禁止Nagle算法
  • 開啟TCP NOPUSH選項(xiàng),禁用Nagle算法,防止小塊數(shù)據(jù)的合并,實(shí)時(shí)發(fā)送給客戶端。
tcp_nodelay on; # 開啟TCP NODELAY選項(xiàng),禁止延遲ACK算法
  • 開啟TCP NODELAY選項(xiàng),禁用延遲ACK算法,防止ACK包的延遲,及時(shí)發(fā)送給客戶端。
keepalive_timeout 300; # 設(shè)定keep-alive超時(shí)時(shí)間為65秒
  • 增加keepalive超時(shí)時(shí)間,防止在流式響應(yīng)未完成時(shí),代理與源服務(wù)器的連接就被關(guān)閉。
  • 所以,通過關(guān)閉緩存和代理緩沖,開啟分塊編碼、禁用Nagle與延遲ACK算法,以及增加keepalive超時(shí)時(shí)間,可以實(shí)現(xiàn)代理服務(wù)器與客戶端間的流式響應(yīng)傳輸。
  • 使用這段配置,nginx代理可以透?jìng)髟捶?wù)器的流式響應(yīng)給客戶端,不會(huì)導(dǎo)致響應(yīng)內(nèi)容被截?cái)嗷蜓舆t,實(shí)現(xiàn)真正的流式體驗(yàn)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解nginx代理天地圖做緩存解決跨域問題

    詳解nginx代理天地圖做緩存解決跨域問題

    這篇文章主要介紹了詳解nginx代理天地圖做緩存解決跨域問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • Nginx配置四層、七層網(wǎng)絡(luò)代理轉(zhuǎn)發(fā)的方法示例

    Nginx配置四層、七層網(wǎng)絡(luò)代理轉(zhuǎn)發(fā)的方法示例

    nginx作為透明代理可以充分利用其高性能和靈活性來實(shí)現(xiàn)網(wǎng)絡(luò)流量的轉(zhuǎn)發(fā)和處理,本文主要介紹了Nginx配置四層、七層網(wǎng)絡(luò)代理轉(zhuǎn)發(fā)的方法示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Linux中安裝Nginx的正確步驟

    Linux中安裝Nginx的正確步驟

    這篇文章主要給大家介紹了關(guān)于在Linux中安裝Nginx的正確步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Nginx反向代理和內(nèi)容替換模塊實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容動(dòng)態(tài)替換功能

    Nginx反向代理和內(nèi)容替換模塊實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容動(dòng)態(tài)替換功能

    Nginx是一款輕量級(jí)高性能服務(wù)器軟件,雖然輕量,但功能非常強(qiáng)大,可用于提供WEB服務(wù)、反向代理、負(fù)載均衡、緩存服務(wù)、甚至可以通過添加一些模塊搭建rtmp流媒體服務(wù),最近碰到一個(gè)客戶需求,需要用到nginx反向代理替換網(wǎng)頁(yè)內(nèi)容,貼出來跟大家交流,如有不足之處請(qǐng)指出
    2024-10-10
  • Nginx源碼安裝的方法步驟

    Nginx源碼安裝的方法步驟

    這篇文章主要介紹了Nginx源碼安裝的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • nginx緩存不起作用問題解決方法

    nginx緩存不起作用問題解決方法

    nginx代理做好了,緩存也配置好了,但是發(fā)現(xiàn)css、js、jpg這些靜態(tài)文件統(tǒng)統(tǒng)都cached成功。但是偏偏頁(yè)面文件依舊到源服務(wù)器取
    2014-04-04
  • nginx實(shí)現(xiàn)ip限流的具體示例

    nginx實(shí)現(xiàn)ip限流的具體示例

    限流的方式油很多種,本文主要介紹了nginx實(shí)現(xiàn)ip限流的具體示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • 前端必備Nginx配置詳解

    前端必備Nginx配置詳解

    這篇文章主要介紹了前端必備Nginx配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 解決Nginx + PHP(FastCGI)遇到的502 Bad Gateway錯(cuò)誤

    解決Nginx + PHP(FastCGI)遇到的502 Bad Gateway錯(cuò)誤

    昨日,有朋友問我,他將Web服務(wù)器換成Nginx 0.6.31 + PHP 4.4.7(FastCGI)后,有時(shí)候訪問會(huì)出現(xiàn)“502 Bad Gateway”錯(cuò)誤,如何解決。
    2009-10-10
  • Windows的CMD窗口如何查看并殺死nginx進(jìn)程

    Windows的CMD窗口如何查看并殺死nginx進(jìn)程

    這篇文章主要介紹了Windows的CMD窗口如何查看并殺死nginx進(jìn)程問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06

最新評(píng)論