目录
- 1.核心功能特性
- 1.1 高并发处理能力
- 1.2 反向代理与负载均衡
- 1.3 静态资源服务
- 1.4 缓存加速
- 1.5 SSL/TLS支持
- 1.6 动态模块扩展
- 1.7 流媒体服务
- 1.8 高可用性
- 2.常用功能场景
- 2.1 反向代理与负载均衡
- 2.2 静态资源服务
- 2.3 缓存加速
- 2.4 HTTPS支持
- 2.5 API网关
- 2.6 微服务网关
- 3.优势总结
- 4.适用场景
- 4.1 作用
1.核心功能特性
1.1 高并发处理能力
- 1.基于事件驱动的异步非阻塞架构,单个进程可处理数万并发连接,适合高流量场景。
- 2.类比:传统服务器(如Apache)为每个连接分配线程,而Nginx通过事件循环机制复用线程,资源利用率更高。
1.2 反向代理与负载均衡
- 1.作为反向代理服务器,隐藏后端真实服务器地址,提升安全性。
- 2.支持多种负载均衡算法(轮询、权重、IP哈希等),动态分配请求至后端服务器。
- 3.示例:将用户请求分发至多台Web服务器,避免单点故障。
1.3 静态资源服务
- 1.直接提供静态文件(HTML、CSS、JS、图片等),减轻后端服务器压力。
- 2.性能优势:Nginx对静态文件的处理效率远高于动态内容处理。
1.4 缓存加速
- 1.支持HTTP缓存(如FastCGI缓存、代理缓存),减少后端服务器响应时间。
- 2.场景:缓存热门内容(如新闻首页),降低数据库负载。
1.5 SSL/TLS支持
- 1.内置SSL模块,支持HTTPS加密通信,保护数据传输安全。
- 2.优化:通过HTTP/2协议提升传输效率,减少握手延迟。
1.6 动态模块扩展
- 1.支持动态加载模块(如第三方模块),灵活扩展功能(如Lua脚本、流媒体处理)。
- 2.优势:无需重启服务器即可更新功能。
1.7 流媒体服务
- 1.支持RTMP、HLS等流媒体协议,用于视频直播、点播服务。
- 2.应用:搭建视频平台或直播系统。
1.8 高可用性
- 1.支持热部署(零停机更新配置)和健康检查,确保服务连续性。
- 2.示例:通过keepalived实现Nginx高可用集群。
2.常用功能场景
2.1 反向代理与负载均衡
- 1.场景:多台Web服务器组成的集群。
- 2.配置示例:
upstream backend {
server web1.example.com;
server web2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
2.2 静态资源服务
- 1.场景:提供网站静态文件(如图片、CSS)。
- 2.配置示例:
server {
listen 80;
server_name static.example.com;
root /var/www/static;
}
2.3 缓存加速
- 1.场景:减少后端动态内容生成压力。
- 2.配置示例(FastCGI缓存):
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
}
}
2.4 HTTPS支持
- 1.场景:加密网站通信,提升安全性。
- 2.配置示例:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
}
2.5 API网关
- 1.场景:统一管理后端API接口,实现限流、认证等功能。
- 2.扩展方式:结合ngx_http_lua_module模块编写自定义逻辑。
2.6 微服务网关
- 1.场景:在微服务架构中,作为API路由和负载均衡器。
- 2.优势:动态路由至不同微服务实例,简化服务发现。
3.优势总结
特性 | 优势 |
---|---|
高并发 | 单进程处理数万连接,资源占用低。 |
负载均衡 | 动态分配请求,提升系统可用性。 |
静态资源优化 | 高效提供静态文件,减少后端压力。 |
安全性 | 支持SSL/TLS、访问控制等安全机制。 |
扩展性 | 模块化设计,易于集成第三方功能。 |
4.适用场景
4.1 作用
-
1.高流量网站:如电商、新闻门户等,需处理大量并发请求。
-
2.API服务:作为API网关,统一管理后端服务接口。
-
3.流媒体平台:支持RTMP、HLS协议,用于视频直播或点播。
-
4.微服务架构:作为服务网关,实现路由和负载均衡。