以下是一张浓缩版的Nginx核心知识图谱,帮助您快速掌握关键要点:
%% Nginx知识图谱(精简版)%%
graph TD
A[Nginx] --> B[核心功能]
A --> C[架构特点]
A --> D[典型应用]
B --> B1[静态资源服务]
B --> B2[反向代理]
B --> B3[负载均衡]
B --> B4[动静分离]
C --> C1[事件驱动]
C --> C2[Master-Worker多进程]
C --> C3[高并发EPOLL]
C --> C4[热部署]
D --> D1[HTTP服务器]
D --> D2[API网关]
D --> D3[缓存加速]
D --> D4[SSL终端]
style A fill:#339933,color:white
关键点解析: 1. 核心功能 - 静态处理:单机可达10万QPS - 反向代理:支持HTTP/HTTPS/TCP/UDP - 负载算法:轮询/权重/IP_hash/Least_conn - 动静分离:正则匹配请求分离
- 单进程10万并发(epoll) - Worker进程独立处理请求 - 配置文件reload不停机 - 内存占用仅为Apache 1/10
# 负载均衡示例
upstream app {
server 192.168.1.100:8080 weight=5;
server 192.168.1.101:8080 max_fails=3;
keepalive 32;
}
server {
listen 80;
location / {
proxy_pass http://app;
proxy_set_header Host $host;
}
}
- worker_processes = CPU核心数 - worker_connections 10240; - gzip_static on; - open_file_cache max=2000 inactive=20s;
监控命令:
nginx -t
测试配置
strace -p <worker_pid>
跟踪进程
ss -ant | grep 80 | wc -l
统计连接数
常见问题: 1. 502错误:检查后端服务状态 2. 地址重写:注意rewrite规则顺序 3. 日志切割:使用logrotate 4. 性能瓶颈:检查系统fd限制
扩展方向: - OpenResty = Nginx + Lua - Kubernetes Ingress Controller - 动态模块开发(C语言)
这张图谱覆盖了Nginx 80%的日常使用场景,适合粘贴到记事本或打印为速查表。需要哪个部分的详细说明可以告诉我。