🌐 Nginx 简介
Nginx(发音为 Engine-X)是一个高性能的 HTTP 和反向代理服务器,同时也是一个 邮件代理服务器 和 通用 TCP/UDP 代理服务器。它因其稳定性、高并发处理能力、低资源消耗而广泛用于网站服务与微服务架构中。
✅ 核心特点
| 特点 | 说明 |
|---|
| 🔁 反向代理 | 接收外部请求并转发给后端服务器,如 Tomcat、Flask |
| 📦 负载均衡 | 多个后端服务器之间分发流量,提高并发处理能力 |
| 🧊 静态资源服务 | 高效处理 HTML、CSS、JS、图片等静态资源 |
| 🔐 HTTPS 支持 | 支持 TLS/SSL,实现加密传输 |
| 📈 高并发性能 | 使用异步非阻塞 IO,可处理数以万计的并发连接 |
| 🧩 模块化结构 | 通过配置模块支持 gzip、缓存、访问控制、日志等功能 |
🏗️ 常见使用场景
| 场景 | Nginx 作用 |
|---|
| 网站前端服务 | 提供静态资源、HTML 页面等 |
| 后端反向代理 | 接收请求转发给后端服务(如 Java 服务) |
| 微服务网关(配合K8s) | 统一入口,支持 URI 路由、负载均衡等 |
| 动静分离 | 静态资源由 Nginx 处理,动态请求转发 |
| SSL终端 | 实现 HTTPS,减轻后端服务加密压力 |
🔧 常见配置功能示例
1. 反向代理
nginx
复制编辑
location /api/ {
proxy_pass http:
}
2. 静态资源托管
nginx
复制编辑
location /static/ {
root /var/www/html/;
}
3. 负载均衡
nginx
复制编辑
upstream backend {
server 192.168.0.2
server 192.168.0.3
}
location / {
proxy_pass http://backend
}
4. HTTPS 配置
nginx
复制编辑
server {
listen 443 ssl
ssl_certificate cert.pem
ssl_certificate_key cert.key
...
}
🔩 与 Apache 的对比
| 对比项 | Nginx | Apache |
|---|
| 架构模型 | 异步非阻塞,事件驱动 | 多进程/线程,阻塞式 |
| 性能 | 并发处理能力强,资源占用低 | 高并发下资源开销大 |
| 静态资源服务 | 极快 | 相对较慢 |
| 配置复杂度 | 配置简洁(nginx.conf) | 配置繁琐(httpd.conf) |
✅ 总结
Nginx 是现代 Web 服务架构中的关键基础组件,无论是作为网站前端服务器,还是作为微服务网关的反向代理和负载均衡器,都展现了卓越的性能和灵活性。