如何优化Nginx性能?
2025-04-14
30
参考资料
Nginx 性能优化配置示例
1. 调整 Worker 进程和连接数
worker_processes auto; # 自动匹配 CPU 核心数
worker_rlimit_nofile 100000; # 提高文件描述符限制
events {
worker_connections 4096; # 每个 worker 的最大连接数
use epoll; # Linux 高性能事件模型
multi_accept on; # 允许 worker 同时接受多个连接
}2. 启用 Gzip 压缩
gzip on; gzip_min_length 1k; # 最小压缩文件大小 gzip_comp_level 6; # 压缩级别(1-9) gzip_types text/plain text/css application/json application/javascript text/xml; gzip_vary on; # 根据客户端支持情况启用压缩 gzip_disable "MSIE [1-6]\."; # 禁用旧版 IE 的压缩
3. 静态文件缓存优化
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|woff|ttf|svg)$ {
expires 365d; # 缓存 1 年
access_log off; # 关闭访问日志
add_header Cache-Control "public, immutable"; # 强制缓存
}4. 启用 Keep-Alive
keepalive_timeout 65; # 保持连接 65 秒 keepalive_requests 1000; # 单个连接最大请求数
5. 调整缓冲区大小
client_body_buffer_size 16k; client_header_buffer_size 4k; client_max_body_size 8m; # 限制上传文件大小 large_client_header_buffers 4 16k; # 大请求头缓冲区
6. 优化 FastCGI(PHP-FPM)
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_read_timeout 60s;
}7. 限制请求速率(防 DDoS)
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
server {
limit_req zone=req_limit burst=20 nodelay;
limit_conn conn_limit 100;
}8. 关闭访问日志(可选)
access_log off; # 生产环境可关闭日志 error_log /var/log/nginx/error.log warn; # 仅记录警告及以上错误
9. 启用 TCP 优化(适用于高并发)
http {
sendfile on; # 零拷贝传输文件
tcp_nopush on; # 减少数据包数量
tcp_nodelay on; # 禁用 Nagle 算法
}10. 使用 HTTP/2(提升 HTTPS 性能)
server {
listen 443 ssl http2;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}优化后检查
nginx -t # 测试配置是否正确 systemctl restart nginx # 重启生效
这些配置可根据实际服务器负载进一步调整。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . 宝塔 | 西里网》 -- 发布时间:2025-03-29
本页链接:https://bt.ciilii.com/show/news-810.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
