LNMP环境下 Nginx 配置优化实操指南
一 基础进程与连接优化
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 10240;
multi_accept on;
}
以上做法可显著提升并发处理与稳定性,是LNMP场景的通用起点。二 传输压缩与静态资源缓存
http {
gzip on;
gzip_vary on;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
压缩与缓存是“低成本高收益”的优化项,应优先启用。三 超时与缓冲调优
http {
keepalive_timeout 65;
keepalive_requests 1000;
client_body_timeout 12;
client_header_timeout 12;
send_timeout 10;
client_body_buffer_size 10K;
client_header_buffer_size 1K;
large_client_header_buffers 4 4K;
client_max_body_size 50M;
}
超时与缓冲的“黄金法则”是:尽量在内存中处理,避免落盘;连接能复用就复用。四 反向代理与负载均衡
upstream backend {
least_conn;
server 10.0.0.11:9000 weight=3 max_fails=3 fail_timeout=30s;
server 10.0.0.12:9000 weight=1 max_fails=3 fail_timeout=30s;
}
server {
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
通过策略与健康检查的组合,可显著提升后端可用性与吞吐。五 安全与网络层优化及上线流程
server {
listen 443 ssl http2;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}
安全与网络优化不仅提升性能,也显著降低攻击面与握手延迟。