W
AI-Wiki
ENTITY

Nginx

核心定义

Nginx是一款开源的高性能轻量级软件,同时具备Web服务器反向代理服务器能力,是当前互联网后端架构中应用最广泛的反向代理实现软件。

核心优势

相比传统Apache服务器,Nginx具备以下不可替代的优势:

  1. 并发承载能力更强:单机可支持数万甚至数十万级并发连接,适合高流量业务场景
  2. 资源占用极低:空载运行仅占用数MB内存,处理上万并发连接内存消耗也仅为几十MB
  3. 配置灵活扩展性强:采用模块化设计,配置语法简洁易懂,可通过第三方模块扩展各类能力
  4. 行业普及率极高:几乎所有中大型互联网公司的后端架构都会采用Nginx作为入口组件

典型应用场景

Nginx的常见应用场景包括:

  1. 反向代理入口:作为服务端唯一对外暴露的入口,隐藏真实后端服务器的IP与架构信息,大幅提升服务安全性
  2. 负载均衡调度:按照预设权重、轮询等规则将用户请求均匀分发至多台后端业务服务器,提升整体服务的承载能力与可用性
  3. 静态资源托管:直接托管图片、CSS、JS、HTML等静态资源,响应速度远高于动态业务服务器,同时可配置缓存进一步降低回源开销
  4. HTTPS证书部署:统一在Nginx层配置SSL证书,无需每台后端服务器单独配置,降低证书维护成本
  5. 接口网关能力:支持在Nginx层快速配置限流、黑白名单、请求过滤、跨域处理等规则,无需修改后端业务代码即可实现网关能力

网站访问流程中的角色

在常规网站访问流程中,Nginx作为服务端入口承担中间调度角色,具体流程如下:

  1. 用户浏览器发起对域名的访问请求,首先解析到Nginx服务器的IP并建立连接
  2. Nginx对请求类型做判断:
    • 若为静态资源请求,直接返回本地存储的对应资源
    • 若为动态业务请求,将请求转发给后端的Tomcat/Node.js/Python等业务服务器处理
  3. 后端业务服务器处理完成后将结果返回给Nginx
  4. Nginx将最终结果返回给用户 整个流程中用户全程仅能感知到Nginx的存在,无法获取后端真实服务器的任何信息。

概念边界:正向代理与反向代理的区别

很多开发者容易混淆正向代理与反向代理的概念,二者核心差异如下:

代理类型所处位置核心作用典型场景
正向代理站在用户侧代理用户访问外部资源,隐藏用户真实信息科学上网、公司内网代理访问外网
反向代理站在服务端侧代理后端服务器接待用户请求,隐藏服务端真实信息网站入口、负载均衡、统一安全管控
通俗区分规则:正向代理是「用户找代理帮自己出去」,反向代理是「服务端找代理帮自己接客」。

相关条目

  • 反向代理
  • 反向代理和Nginx通俗解释
  • Apache
  • Tomcat
  • 负载均衡
  • Web服务器