NGINX简介

Nginx 简单介绍

Nginx(发音 “engine x”)是一个高性能的 Web 服务器反向代理服务器,同时也可用作负载均衡器HTTP 缓存。它由俄罗斯程序员 Igor Sysoev 于 2004 年发布,最初是为了解决 C10K 问题(同时处理 1 万个并发连接)。


一、一句话理解

Nginx 是一个”流量入口管家”,所有用户的请求先到它这里,它决定:谁进来、往哪转、怎么缓存。


二、核心特点

特点说明
高性能基于异步非阻塞事件驱动架构,单进程可处理数万并发连接,内存消耗极低
多角色可以充当 Web 服务器、反向代理、负载均衡器、HTTP 缓存、API 网关
配置简单配置文件语法简洁,模块化设计,易于理解和修改
高稳定性即使在高负载下也能稳定运行,很少崩溃
模块化支持丰富的第三方模块,功能可灵活扩展

三、Nginx 的三种主要角色

1. Web 服务器

  • 功能:直接提供静态文件服务(HTML、CSS、JS、图片)
  • 特点:比 Apache 占用更少内存,处理静态文件速度极快
  • 例子:用户访问 https://example.com/index.html,Nginx 直接读取文件返回

2. 反向代理

  • 功能:接收客户端请求,转发给后端服务器(如 Tomcat、Node.js),再将响应返回给客户端
  • 特点:隐藏后端服务器细节,可做统一入口、SSL 卸载、缓存
  • 例子:用户访问 https://example.com/api,Nginx 转发给内网的 192.168.1.10:8080

3. 负载均衡器

  • 功能:将流量分发到多台后端服务器
  • 支持算法:轮询、加权轮询、IP 哈希、最少连接数
  • 例子:用户请求到达 Nginx,Nginx 按轮询策略分发给 Server A/B/C

四、典型架构位置

[用户] --> [Nginx] --> 静态文件(直接返回)
                |
                --> [后端服务器集群]
                        ├── Server A (Tomcat)
                        ├── Server B (Tomcat)
                        └── Server C (Tomcat)

五、适用场景

场景说明
静态网站托管直接 Serve 静态文件,轻量高效
Web 应用前端入口作为统一入口,转发动态请求,处理静态资源
微服务 API 网关路由、限流、鉴权、日志
负载均衡分发流量到多台应用服务器
SSL 终结统一处理 HTTPS 加密,减轻后端压力
缓存加速缓存热点内容,减少后端请求

六、与其他 Web 服务器的简单对比

产品核心特点适用场景
Nginx高性能、轻量、反向代理强高并发场景、静态资源、网关
Apache模块丰富、.htaccess 支持传统 Web 应用、兼容性要求高
TomcatJava Servlet 容器Java Web 应用(动态)
IISWindows 原生集成.NET 应用

七、一句话总结

Nginx 是当今互联网架构中最常用的流量入口工具——它负责”谁来了往哪送”,以极低的资源消耗支撑起亿万用户的访问。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注