无论你用浏览器还是 App 访问多数网站, 到达的第一站就是 Nginx.
后来者居上的 Nginx
千禧年前后, 互联网业务迎来了高速发展, 老牌的 web 服务器都无法满足高性能, 高可靠的市场需求.
一个开源的, 流行的 HTTP 和反向代理服务器在 2004 年应运而生, 它就是 Nginx. 它作为 HTTP 服务器可以用较少的内存来提供可靠的静态站点服务, 同时作为反向代理支持 HTTP, 电子邮件, TCP 和 UDP 等多种协议, 可以用作多个上游服务器的流量入口. 所谓后来者居上, Nginx 出道十五年, 稳居市场占用率榜首. (Netcraft 官网统计数据显示 2019 年 10 月市场占有率 32.88%)
因此, 多数互联网公司也邀请到了 Nginx 这位业界 "流量担当" 来承担流量入口庞大而繁复的数据传输工作.
Nginx 提供中介服务
什么是 "反向代理"?
举个例子: 在现如今的租房子市场中, 人们很难一次性接触到房主本人, 更多的时候接触到是中介等这样的 "二房东". 反向代理服务器就是这种这种帮助真正的房主执行租房指令的 "二房东". 当客户端 (租客) 发送请求到反向代理服务器 (二房东) 上, 由反向代理服务器 (二房东) 再把请求转发给一台上游服务器 (房东) 来执行, 再把执行结果返回给客户端(租客).
更为专业的解释是: 反向代理 (Reverse Proxy) 是一个 Web 服务器, 它终结了客户端连接, 并生成了另一个新的连接, 新的连接代表客户端向上游服务器生成连接. 上游服务器 (upstream server) 被定义为一个 Nginx 产生连接 "打通" 了客户端请求的服务器.(摘自《Mastering Nginx 2nd Edition》)
Nginx 作为流量入口带你游览互联网的每个角落的时候, 也会为了满足 "租客" 的需求在租客和房东之间忙的团团转. 它需要代替 "租客" 向上游服务器生成一个新的请求, 并将上游服务器的响应数据发回给租客.
反向代理服务器提供了强大的扩展性, 将并发连接到多个上游服务器(房东父子), 使它们看起来好像就是一个服务器实现的(二房东).
同样再拿租房市场来举例子: 某个土豪房东有多套房子委托二房东出租, 但是房东平常比较忙, 容易耽误租房事情. 二房东建议房东增加联系人如房东的儿子并约定处理规则, 这里的的房东父子是反向代理中的 "上游服务器", 处理的规则是 "负载均衡策略".
专业的解释: Nginx 可以通过扩展它代理的连接来保护你的上游服务器免于过载.(摘自《Mastering Nginx 2nd Edition》)
这种反向代理多个上游服务器的方式就是多数互联网平台使用最广泛的负载均衡服务.
来源: http://www.bubuko.com/infodetail-3344195.html