Nginx Upstream长链接由upstream模式下的keepalive指令控制,并指定可用于长链接的链接数,配置样例以下:php
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只支持反向代理到upstream下配置的server,不支持直接由proxy_pass指令配置的server,更不支持proxy_pass参数中包含变量的状况。此外,为支持长链接,须要配置使用HTTP1.1协议(虽然HTTP 1.0可经过设置Connection请求头为“keep-alive”来实现长链接,但这并不推荐)。html
此外,因为HTTPPROXY模块默认会将反向代理请求的connection头部设置成Close,所以这里也须要清除connection头部(清除头部即不发送该头部,在HTTP 1.0中默认为长链接)。linux
问题:nginx与后端upstream下面的服务器创建的都是短连接。这样nginx往upstream后端发请求时,也会消耗不少的时间与带宽,若是让nginx与upstream后端创建起长连接,从nginx发起的请求就能够挑选一个合适的长连接发往upstream后端服务器,这样便可以节省带宽,也能够提升响应速度。nginx
一、关于nginx upstream长连接的介绍及具体的实现方式后端
http://bollaxu.iteye.com/blog/900424服务器
二、使用nginx keepalive,网站TPS性能提高对比性能