以下是Debian系统下Nginx的性能调优技巧:
worker_processes auto;:自动匹配CPU核心数,充分利用多核性能。worker_rlimit_nofile 65535;:提升单个进程可打开文件数上限,需同步修改系统级限制(如/etc/security/limits.conf)。events { worker_connections 10240; use epoll; multi_accept on; }:
worker_connections:单进程最大连接数,根据服务器内存调整(如10240)。epoll:Linux高效事件模型,支持高并发。multi_accept:一次性接受多个连接,减少上下文切换。sendfile on; tcp_nopush on; tcp_nodelay on;:
sendfile:启用零拷贝文件传输,减少CPU消耗。tcp_nopush/tcp_nodelay:优化TCP数据包传输,降低延迟。keepalive_timeout 65; keepalive_requests 100;:长连接复用,减少TCP握手开销。expires 30d; add_header Cache-Control "public";:设置静态文件(图片/CSS/JS)缓存30天。open_file_cache max=10000 inactive=20s;:缓存文件元数据,加速频繁访问的静态资源。proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g;:缓存后端响应,减轻后端负载。http2;,支持多路复用,提升页面加载速度。ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5;:使用强加密套件。ssl_session_cache shared:SSL:10m; ssl_session_tickets on;:启用会话缓存,减少握手开销。sysctl -p):
net.core.somaxconn = 65535:增加监听队列长度。net.ipv4.tcp_max_syn_backlog = 65535:提升TCP连接队列容量。top/htop监控CPU/内存占用,vmstat查看系统负载。access.log/error.log),排查异常。注意:修改配置后需通过sudo nginx -t测试语法,再sudo systemctl reload nginx重新加载配置。建议根据实际业务场景和硬件环境调整参数,并通过压力测试验证效果。