Nginx性能优化与监控

一、核心优化方向

  1. worker 进程配置

    • worker_processes auto;:自动匹配 CPU 核心数
    • worker_connections 10240;:单进程最大连接数(需配合系统 ulimit)
    • worker_rlimit_nofile 65535;:提升最大文件句柄数
  2. 事件模型优化

    nginx

    复制代码
    events {
        use epoll;
        multi_accept on;
        accept_mutex off;
    }
  3. TCP / 网络优化

    nginx

    复制代码
    http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        keepalive_requests 1000;
    }
  4. 压缩优化

    nginx

    复制代码
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_min_length 1k;
  5. 静态资源缓存

    nginx

    复制代码
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, max-age=2592000";
    }
  6. 隐藏版本、提升安全

    nginx

    复制代码
    server_tokens off;

二、系统层面优化(配合 Nginx)

  1. 修改 /etc/security/limits.conf

    plaintext

    复制代码
    nginx soft nofile 65535
    nginx hard nofile 65535
  2. 内核参数 /etc/sysctl.conf

    plaintext

    复制代码
    net.core.somaxconn = 65535
    net.core.netdev_max_backlog = 65535
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_fin_timeout = 30

    执行:sysctl -p


三、监控指标与工具

1. 关键监控指标

  • 活跃连接数、等待连接数
  • 请求 QPS、响应时间
  • 状态码:2xx/3xx/4xx/5xx 占比
  • CPU、内存、句柄、磁盘 I/O
  • upstream 后端健康状态

2. 内置状态页

nginx

复制代码
location /nginx_status {
    stub_status;
    allow 127.0.0.1;
    deny all;
}

访问:http://ip/nginx_status

3. 常用监控工具

  • nginx -t:配置语法检查
  • nginx -s reload:平滑重载
  • netstat -anp | grep nginx / ss -s
  • tophtopiostatdstat
  • 日志分析:awkgoaccess
  • 接入 Prometheus + Grafana(nginx-vts-exporter)

四、日志与排错

  1. 访问日志:记录请求、状态、耗时、UA、来源
  2. 错误日志:定位 upstream、权限、配置、端口冲突
  3. 常用排查:
    • 502:后端服务挂 / 超时 / 不可达
    • 504:超时
    • 403:权限 / 目录索引 / IP 限制
    • 404:路径 / 路由 / 文件不存在
相关推荐
Csxyzj18 分钟前
Nginx:企业高性能web服务器(一)
运维·服务器·nginx
Eloudy20 分钟前
sunshine - ubuntu 22.04, moonlight - mac OS26 远程桌面
linux·运维·ubuntu
旗开得胜马到成功25 分钟前
工控系统备份的底层技术解析:老旧协议、零停机窗口与中科热备的专项破局
运维·服务器·vr
AC赳赳老秦27 分钟前
企业标签体系搭建:基于 OpenClaw 采集的多维度公开数据,构建企业画像标签库
java·运维·服务器·python·信息可视化·deepseek·openclaw
苍狗T28 分钟前
K8s 集群实战:基于 Harbor 私有仓库 + cri‑dockerd 完整部署
linux·运维·云原生·容器·kubernetes
EXI-小洲35 分钟前
Docker 容器部署 EMQX|MQTT 消息代理服务安装与配置教程
运维·mqtt·docker·emqx
石小千36 分钟前
X86下载 ARM 架构的包
linux·运维
殷忆枫38 分钟前
嵌入式Linux下基于FFmpeg实现MP4解码为JPG图片(SSD202D交叉编译实战)
linux·运维·ffmpeg
牢姐与蒯1 小时前
Linux进程(二)之进程概念
linux·运维·服务器·ubuntu
HiDev_1 小时前
【非标自动化】2、认识元器件(模拟量模块)
运维·自动化