Debian + Nginx 出现卡顿(响应慢、连接超时、负载高)通常不是 Nginx 本身“bug”,而是配置、系统资源、网络或上游服务问题。下面按最常见原因 → 排查方法 → 解决建议来说明。
Nginx 本身很快,但:
proxy_pass 的后端卡现象
access.log 里 request_time 很大排查
tail -f /var/log/nginx/access.log
看 request_time 和 upstream_response_time
解决
Debian 默认配置可能偏小。
检查
nproc
worker_processes auto;
worker_connections 10240;
建议
worker_processes auto;
events {
worker_connections 10240;
use epoll;
}
现象
Too many open files检查
ulimit -n
cat /proc/sys/fs/file-max
解决
# /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
Nginx 中:
worker_rlimit_nofile 65535;
检查
iostat -x 1
df -h
解决
可能原因:
检查
free -h
dmesg | grep -i oom
优化内核
# /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
sysctl -p
现象
原因 Nginx 启动时解析一次 DNS
解决 用 IP,或:
resolver 8.8.8.8 valid=10s;
检查
netstat -ant | wc -l
解决
# 1. 看负载
top
# 2. 看连接
ss -ant | wc -l
# 3. 看 Nginx 日志
tail -f /var/log/nginx/access.log
# 4. 看错误
tail -f /var/log/nginx/error.log
# 5. 看后端
systemctl status php8.2-fpm
你可以补充:
proxy_pass?我可以直接帮你改配置文件。