赞
踩
在实战场景中,对Nginx进行优化可以从多个维度进行,以提升其性能和稳定性,以下是一些常见的优化措施:
worker_processes
数量,通常建议设置为服务器物理CPU核心数或逻辑核数。如果服务器有超线程,可以设置为物理核心数的两倍,但也要考虑服务器负载和其他并发因素。worker_processes auto; # 自动检测可用CPU核心数
# 或者明确指定
worker_processes 4; # 假设服务器有4个CPU核心
worker_cpu_affinity 01 03 10 11; # 对于4核CPU,绑定两个进程到不同核心
worker_connections
配置项。events {
worker_connections 10240; # 根据系统资源调整最大连接数
}
ulimit -n
) 大于等于Nginx的worker_connections
设置。# 在系统级别增加文件描述符限制
ulimit -n 65535
location ~* \.(jpg|jpeg|gif|png|ico|css|js)$ {
expires 30d; # 设置静态资源30天内有效,避免频繁请求
add_header Cache-Control public;
}
http {
gzip on;
gzip_comp_level 6; # 压缩级别,默认1-9,数值越大压缩率越高,CPU占用也相应增加
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}
http {
keepalive_timeout 60s; # 设置保持连接超时时间
client_body_timeout 10s; # 请求体读取超时时间
send_timeout 10s; # 数据发送超时时间
}
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
error_log /var/log/nginx/error.log error; # 只记录错误信息
access_log /var/log/nginx/access.log combined buffer=16k flush=1m; # 缓冲区大小和刷新频率
总之,Nginx的优化是个持续的过程,需要结合实际应用场景、硬件资源和业务需求来进行细致的调优。同时,应该密切关注Nginx官方文档以及业界最佳实践的更新,以便随时应用最新的优化策略。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。