插件窝 干货文章 一张小图看尽 Nginx

一张小图看尽 Nginx

Nginx Worker 图谱 负载 464    来源:    2025-04-13

以下是一张浓缩版的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 - 动静分离:正则匹配请求分离

  1. 架构优势

- 单进程10万并发(epoll) - Worker进程独立处理请求 - 配置文件reload不停机 - 内存占用仅为Apache 1/10

  1. 配置示例
# 负载均衡示例
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;
    }
}
  1. 性能调优

- 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%的日常使用场景,适合粘贴到记事本或打印为速查表。需要哪个部分的详细说明可以告诉我。