nginx监听在127.0.0.1,和192.168.1.2上,为什么从127.0.0.1地址下载文件比192.168.1.2地址下载快速?
内部机制怎么理解?
nginx监听在127.0.0.1,和192.168.1.2上,为什么从127.0.0.1地址下载文件比192.168.1.2地址下载快速?
内部机制怎么理解?
192.168.1.2 是局域网地址, 数据会在网卡上绕一圈, 如果不是本机的话, 就还要网线上走一下.
127.0.0.1 是回环地址, 数据在一个操作系统虚拟的网卡(一般叫 loopback, ifconfig 的 lo 接口), (我猜的: 内核可以直接将数据发给应用程序, 所以会快点).
首先
无论是127.0.0.1(环回口) 还是其它ip,数据都是通过网卡传输
只有local(本地服务器),是直接访问本地数据,不受防火墙和网卡的限制
其次
nginx是工作在第七层的负载均衡服务器,并不是应用服务器
nginx监听到客户端的请求时,会先建立与客户端的TCP连接(三次握手)接收到客户端发送的真正应用层内容报文
nginx随后根据具体报文和负载均衡设置最终选择应用服务器,建立与应用服务器的TCP连接,传输数据
nginx工作在第七层,相对于工作在第四层的LVS更智能,可提供缓存等功能,同时资源消耗也更大
最后
我并不是很清楚为什么会快
一点疑问
同时监听多个ip,后端是对应的多个应用服务么?
1 回答845 阅读✓ 已解决
1 回答692 阅读✓ 已解决
3 回答669 阅读✓ 已解决
1 回答1.4k 阅读
1 回答817 阅读✓ 已解决
2 回答578 阅读✓ 已解决
1 回答657 阅读
隐隐约约记得在哪看过127.0.0.1不走网卡,真实ip会走网卡。