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

歡迎訪問 生活随笔!

生活随笔

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

Nginx

【部署】Nginx长连接配置

發布時間:2025/3/19 Nginx 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【部署】Nginx长连接配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

nginx upstream keepalive connections
Nginx從 1.1.4 開始,實現了對后端機器的長連接支持,這是一個激動人心的改進,這意味著 Nginx 與后端機器的通信效率更高,后端機器的負擔更低。
例如,對一個沒有長連接支持的后端機器,會出現大量TIME_WAIT 狀態的連接,使用以下命令驗證之:
netstat -n | grep TIME_WAIT
經過查閱官方文檔,其目前已經實現了http, fastcgi, memcache 協議的長連接支持。而之前的版本中僅支持 memcache 協議。



1. 啟用到 memcache 服務器的長連接
在upstream 配置段中增加 keepalive N 指令即可:
upstream memcached_backend {
server 127.0.0.1:11211;
server 10.0.0.2:11211;
keepalive 32;
}
server {
...
location /memcached/ {
set $memcached_key $uri;
memcached_pass memcached_backend;
}
}



2. 啟用fastcgi 長連接支持
除了需要在upstream 中配置 keepalive N 外,還需要在 location 中增加 fastcgi_keep_conn on;
upstream fastcgi_backend {
server 127.0.0.1:9000;
keepalive 8;
}
server {
...
location /fastcgi/ {
fastcgi_pass fastcgi_backend;
fastcgi_keep_conn on;
...
}
}



3. 啟用對后端機器HTTP 長連接支持
upstream http_backend {
server 127.0.0.1:8080;
keepalive 16;
}
server {
...
location /http/ {
proxy_pass http://http_backend;
proxy_http_version 1.1;
proxy_set_header Connection "";
...
}
}


注意:需要設置nginx 代理請求的 http 協議版本號為 1.1, 以及清除掉 Connection 請求 header, 官方文檔描述:
For HTTP, the proxy_http_version directive should be set to “ 1.1 ” and the “ Connection ” header field should be cleared .
The connections parameter should be set low enough to allow upstream servers to process additional new incoming connections as well.
即是說:keepalive N 指令中 , N 的值應該盡可能設置小一些,以便后端機器可以同時接受新的連接。
在我負責的生產環境中,前端是nginx, 靜態文件緩存使用 varnish, 使用長連接之后, varnish 機器的連接數從 8000 多下降至 200 多,負載值也有明顯降低。
但是針對fastcgi, 即后端機器是 php-fpm 服務時,在 nginx 日志中出現以下錯誤:
upstream sent unsupported FastCGI protocol version: 0 while reading upstream 。 ? ?

【補充】應用解決實際問題:

背景:某系統集成外部模塊(前后端分離頁面),系統攔截該模塊所有發起的http請求(代理),通過后端向目標請求發起(避免跨域問題),此時外部模塊頁面,系統攔截,系統后端之間的通訊需要持續,此時應用:啟用對后端機器HTTP 長連接支持,否則頁面上http請求報錯一般為: status(failed), 502, 沒有respond信息。 解決方案:nginx長連接配置

?

介紹設置內容轉載:?https://www.cnblogs.com/huanxiyun/articles/6645239.html

總結

以上是生活随笔為你收集整理的【部署】Nginx长连接配置的全部內容,希望文章能夠幫你解決所遇到的問題。

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