以下是提升Nginx网站性能的关键优化方向及配置建议:
worker_processes auto;
// 自动匹配CPU核心数worker_connections 65535;
// 单进程最大连接数,需配合worker_rlimit_nofile
use epoll;
// Linux下高性能事件驱动机制multi_accept on;
// 批量接收新连接,减少上下文切换keepalive_timeout 65;
// 长连接超时时间keepalive_requests 1000;
// 单连接最大请求数sendfile on;
// 减少内核与用户空间数据拷贝tcp_nopush on;
// 合并TCP数据包,提升传输效率location ~* \.(jpg|css|js)$ {
expires 365d;
add_header Cache-Control "public";
}
``` // 缓存静态文件1年,减少重复请求
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m;
proxy_cache my_cache;
proxy_cache_valid 200 10m; // 缓存200状态码响应10分钟
``` // 缓存后端动态内容,减轻服务器压力
listen 443 ssl http2;
// 支持多路复用,降低延迟gzip on;
gzip_types text/css application/json;
gzip_comp_level 6; // 压缩级别(1-9,平衡CPU与压缩率)
``` // 减少传输数据量,提升页面加载速度
upstream backend {
least_conn; // 按最小连接数分配请求
server 10.0.0.1:8080 weight=3; // 权重配置
}
``` // 避免单点压力过大
limit_req_zone $binary_remote_addr zone=api:10m rate=100r/s;
location /api/ {
limit_req zone=api burst=50 nodelay; // 限制突发请求
}
``` // 防止恶意流量压垮服务器
location /nginx_status {
stub_status;
allow 127.0.0.1;
}
``` // 查看活跃连接、请求速率等指标
access_log off;
// 关闭非必要访问日志,减少I/O注:优化后需通过nginx -t
测试配置正确性,再nginx -s reload
重新加载。实际参数需根据服务器硬件(如CPU/内存)和业务场景(如高并发API或静态资源站)调整。