Nginx 是一个高性能的开源 Web 服务器、反向代理服务器和负载均衡器,同时还具备多种其他功能。以下是它的核心功能及详细说明:
1. Web 服务器
- 静态资源服务:高效处理静态文件(如 HTML、CSS、JS、图片),占用资源少且响应速度快。
- 动态内容处理:通过 FastCGI、uWSGI 等协议与后端语言(如 PHP、Python)交互,支持动态内容生成。
2. 反向代理(Reverse Proxy)
- 隐藏后端服务:将客户端请求转发到内部服务器,对外暴露 Nginx 的地址而非真实后端,增强安全性。
- 统一入口:作为流量的统一接入点,简化网络架构。
3. 负载均衡(Load Balancing)
- 分配流量:支持多种负载均衡算法:
- 轮询(Round Robin):均匀分配请求。
- 加权轮询(Weighted Round Robin):根据服务器性能分配权重。
- IP Hash:同一用户 IP 固定访问某台后端服务器(保持会话粘滞)。
- 最少连接(Least Connections):将请求发送到当前连接数最少的服务器。
- 健康检查:自动检测后端服务器状态,剔除故障节点。
4. HTTP 缓存
- 加速响应:缓存后端服务器的响应内容,减少重复请求对后端的压力。
- 配置灵活:可定义缓存路径、缓存时长、缓存键等规则。
5. SSL/TLS 终端
- HTTPS 支持:终止加密连接,减轻后端服务器的加解密负担。
- 证书管理:支持多域名 SSL 证书和自动续签(需配合工具如 Certbot)。
6. 动静分离
- 将动态请求(如 API)和静态资源(如图片、文件)路由到不同后端,提升效率。
7. 高并发与高可靠性
- 事件驱动模型:基于异步非阻塞 I/O,轻松应对数万并发连接。
- 热部署与平滑重启:无需停止服务即可更新配置或版本。
8. 其他功能
- 访问控制:基于 IP、用户认证等限制访问权限。
- 日志记录:详细记录访问日志和错误日志,支持自定义格式。
- 带宽限制:防止单个请求消耗过多资源。
- 重写与重定向:通过正则表达式修改 URL(类似 Apache 的 Rewrite)。
- 模块化扩展:支持动态模块加载,可通过第三方模块增强功能(如 Lua 脚本)。
典型应用场景
- 网站托管:直接作为静态资源服务器或动态内容网关。
- API Gateway :反向代理多个微服务,统一管理入口。
- CDN边缘节点 :缓存内容并就近分发。
- 流媒体服务 :支持视频/音频流的代理和缓存(需特定模块)。
如果需要具体配置示例或深入某个功能,可以进一步提问!
内容由零声教学AI助手提供,问题来源于学员提问