关于nginx 流量转发 tcp保持的问题
我的想法是 nginx转发流量到 workerman 的时候、 可以让nginx 与 workerman 保持长连接、以减少tcp链接的开销;
nginx转发配置:
这里 设置了http版本为1.1 并且手动加了header 头 keep-alive;
在workerman onmessage方法 打印 bufferdata
通过打印看到 header头 keep-alive 已经设置成功:
但是我用lsof 查看端口监听的时候 却没有发现有 保持的链接
如果我直接浏览器访问 http://localhost:8787
在通过lsof 命令来查看的话 是可以看到保持的 established 的链接
是nginx 流量转发本身就不支持保持tcp链接吗?
还是我配置哪里没设置对呢
找到问题了。
怎么不能删除提问呢
避免的就是这种提问完,然后还有人解答的,把提问删了的操作(虽然你没有说是什么原因导致的问题)。
还是配置没对;
要按照文档中这种来;
upstream webman {
server 127.0.0.1:8787;
keepalive 10240;
}
server {
server_name 站点域名;
listen 80;
access_log off;
root /your/webman/public;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://webman;
}
}
}
必须设置一个 upstream 在 upstream 这里面设置 keepalive