Nginx 简介
Nginx 是当前最流行的 Web 服务器之一,下面介绍其核心特点与适用场景。
什么是 Nginx
Nginx(发音 "engine-x")是一款轻量级、高性能的 HTTP 服务器和反向代理服务器,由 Igor Sysoev 于 2004 年发布,采用事件驱动、异步非阻塞架构。
核心特点
| 特点 | 说明 |
|---|---|
| 高并发 | 单进程模型可处理数万并发连接 |
| 低内存 | 内存占用极小,同等负载下远低于 Apache |
| 异步非阻塞 | 事件驱动架构,无线程上下文切换开销 |
| 热部署 | 支持不中断服务升级配置和版本 |
| 模块化 | 支持动态加载模块,可扩展性强 |
| 高可用 | 支持主备切换、健康检查、负载均衡 |
适用场景
Web 服务器
直接提供 HTTP 服务,处理静态资源和动态请求代理:
nginx
server {
listen 80;
server_name www.example.com;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
反向代理
将客户端请求转发到后端服务器,隐藏真实服务地址:
nginx
server {
listen 80;
location / {
proxy_pass http://backend_servers;
proxy_set_header Host $host;
}
}
upstream backend_servers {
server 192.168.1.10:8080;
server 192.168.1.11:8080;
}
负载均衡
将流量分发到多个后端服务器,提高系统吞吐:
nginx
upstream app_cluster {
least_conn;
server 10.0.0.1:8080 weight=3;
server 10.0.0.2:8080 weight=1;
server 10.0.0.3:8080 backup;
}
API 网关
统一入口,实现限流、鉴权、路由等功能:
nginx
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
server {
location /api/ {
limit_req zone=api burst=20;
proxy_pass http://api_backend;
}
}
注意事项
- Nginx 不适合处理密集型计算,适合 I/O 密集型场景
- 动态内容需配合后端应用服务器(如 PHP-FPM、Tomcat、Node.js)
- 配置修改后需执行
nginx -s reload生效
与其他 Web 服务器对比
| 对比项 | Nginx | Apache |
|---|---|---|
| 架构 | 事件驱动、异步 | 进程/线程模型 |
| 并发能力 | 高(万级) | 中(千级) |
| 静态资源 | 极快 | 较快 |
| 动态内容 | 需代理后端 | 内置模块支持 |
| 配置方式 | 集中式 | 分布式(.htaccess) |
| 内存占用 | 低 | 较高 |
要点总结
- Nginx 是高性能 HTTP 服务器和反向代理服务器
- 核心优势:高并发、低内存、异步非阻塞、热部署
- 主要场景:Web 服务器、反向代理、负载均衡、API 网关
- 采用事件驱动架构,适合 I/O 密集型场景
- 动态内容需配合后端应用服务器处理
📝 发现内容有误?点击此处直接编辑