Nginx 开源版一直处于活跃开辟状态,由 Nginx 公司负责开辟与维护。截至本教程写作时,Nginx 开源版本已经更新到 1.17.2 版本。Nginx 自推出以来,一直专注于低资源斲丧、高稳固、高性能的并发处置惩罚能力,除了提供 Web 服务器的功能外,还实现了访问代理、负载平衡、内容缓存、访问安全及带宽控制等功能。其基于模块化的代码架构及可与其他开辟语言(如 Perl、JavaScript 和 Lua)有用集成的可编程特性,使其具有强大的扩展能力。
摆设和优化具有高效率、高性能并发哀求处置惩罚能力的应用架构是应用架构师一直追求的目的,在应用架构技术的迭代中,各种分离式思想成为主流,比如将访问入口和 Web 服务器分离、将 Web 服务器和动态脚本解析器分开、将 Web 功能不停拆分、微服务等。
Nginx 不但提供了 Web 服务器的功能,还极大满足了这一主流架构的需求并提供了如下应用特性。
① 访问路由
现今大型网站的哀求量早已不是单一 Web 服务器可以支持的了。单一入口、访问哀求被分配到不同的业务功能服务器集群,是现在大型网站的通用应用架构。Nginx 可以通过访问路径、URL 关键字、客户端 IP、灰度分流等多种本领实现访问路由分配。
② 反向代理
就反向代理功能而言,Nginx 本身并不产生相应数据,只是应用自身的异步非阻塞事件驱动架构,高效、稳固地将哀求反向代理给后端的目的应用服务器,并把相应数据返回给客户端。其不但可以代理 HTTP 协议,还支持 HTTPS、HTTP/2、FastCGI、uWSGI、SCGI、gRPC 及 TCP/UDP 等现在大部分协议的反向代理。
③ 负载平衡