资讯动态

Nginx 连接数过高排查与优化方案

发布时间:2026/10/29 20:06:04 来源:尧图企业网站定制
# Nginx连接数过高排查与优化方案线上服务器偶尔出现访问卡顿、502、504报错很多时候是Nginx连接数打满导致。下面整理宝塔环境下的排查步骤和优化方式方便日常运维排查。## 一、先查看当前连接状态进入SSH执行命令查看当前Nginx所有连接 bashnetstat-an|grep:80|wc-l也可以用 Nginx 自带状态模块查看更详细信息curlhttp://127.0.0.1/nginx-status常见状态解释Active connections当前活跃总连接Readingnginx 正在读取客户端请求Writing正在向客户端返回数据Waiting长连接空闲等待如果 Active connections 持续跑满就需要进一步分析。二、排查来源 IP判断是爬虫还是真实访问netstat-an|grep:80|awk{print $5}|cut-d:-f1|sort|uniq-c|sort-nr|head-20条命令统计访问 IP找出高频请求 IP。 - 如果大量 IP 是搜索引擎爬虫考虑对爬虫做访问限速 - 如果是单个陌生 IP 大量请求大概率是 CC 攻击可以在宝塔防火墙拉黑## 三、核心参数优化宝塔修改 Nginx 配置修改 nginx.conf调整这几个关键参数bash worker_processes auto;events{worker_connections1024;multi_accept on;}worker_connections 是单个进程最大连接数不要盲目拉满受系统文件句柄限制。同时调整系统最大打开文件数ulimit-n65535四、长连接 keepalive 配置长连接可以减少握手开销但过长的超时时间容易堆积空闲连接。keepalive_timeout60;一般设置 60 秒足够不需要设置几百秒。五、其它优化点开启 gzip 压缩减少传输流量静态资源设置合理缓存时间减少重复请求接入 CDN静态资源交给 CDN 节点承接减少源站连接压力关闭不必要的站点日志日志写入也会消耗 IO 与连接。小结连接数高排查顺序统计当前连接总量看状态模块区分读写 / 空闲连接溯源 IP 判断爬虫或攻击调整 worker、keepalive 等参数配合 CDN、缓存分担压力参考资料站点笔记xawxv.com

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑