NGINX(Engine X)是一款高性能的 Web 服务器,同时也是反向代理服务器、负载均衡器和 HTTP 缓存。它以高并发、低资源消耗和强扩展性著称,广泛应用于网站、微服务和云平台架构中。
1. 核心功能
-
Web 服务器
提供静态文件服务(如 HTML、CSS、图片等),高效处理大量并发请求。 -
反向代理
接收客户端请求并转发到后端应用服务器,实现安全隔离和流量控制。 -
负载均衡
支持多种算法(轮询、最少连接、IP 哈希),将流量分发到多个后端,提高系统可用性和扩展性。 -
HTTP 缓存
内置缓存机制,提升静态和动态内容的访问速度。 -
SSL/TLS 支持
支持 HTTPS 加密通信,保障数据安全。
2. 工作原理
NGINX 采用事件驱动、异步非阻塞架构,能够高效处理成千上万的并发连接。主进程负责管理配置和子进程,子进程处理实际的网络请求。
3. 常见应用场景
- 静态资源服务器
- 反向代理与负载均衡
- API 网关
- 安全防护(如限制访问、IP 黑白名单)
- HTTP 缓存加速
4. 基本配置示例
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html index.htm;
}
}
5. 负载均衡配置示例
http {
upstream backend {
server 192.168.1.101:8000;
server 192.168.1.102:8000;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}
6. 管理与运维
- 启动:
nginx - 停止:
nginx -s stop - 重载配置:
nginx -s reload - 查看状态:
systemctl status nginx(Linux)
7. 优势总结
- 高性能、低资源消耗
- 配置灵活、易于扩展
- 支持多种协议和模块
- 社区活跃,文档丰富
NGINX 是现代 Web 架构不可或缺的基础组件,适用于各种规模的应用场景。