本文针对宝塔面板安装Nginx后的默认配置,提供7项关键优化建议,包括性能调优、安全加固和功能增强,帮助用户快速提升服务器运行效率与安全性。涵盖连接数优化、缓存配置、Gzip压缩等实用技巧。
一、优化工作进程与连接数
worker_processes auto; 自动匹配CPU核心数
worker_rlimit_nofile 65535; 提高文件描述符限制
events {
worker_connections 4096; 建议值为worker_rlimit_nofile的60%
use epoll; Linux系统启用高效事件模型
}
默认配置通常未充分利用服务器资源,建议根据CPU核心数设置worker_processes
,并调整连接数限制以支持更高并发。
二、启用Gzip压缩
gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript;
gzip_vary on;
默认可能未开启或压缩级别较低,建议启用并优化参数,可减少30%-70%的传输体积,显著提升页面加载速度。
三、调整客户端超时设置
client_header_timeout 15s;
client_body_timeout 15s;
send_timeout 10s;
keepalive_timeout 65s;
默认超时设置可能不适合生产环境,适当延长keepalive时间可减少TCP握手开销,缩短header/body超时防止慢连接攻击。
四、安全加固配置
server_tokens off; 隐藏Nginx版本信息
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
默认安全头缺失,建议添加关键安全头防止点击劫持、MIME类型混淆和XSS攻击,同时隐藏服务器敏感信息。
五、静态资源缓存优化
location ~ .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
access_log off;
}
默认缓存策略保守,为静态资源设置长期缓存可显著减少重复请求,建议关闭静态资源访问日志节省磁盘IO。
六、日志文件分割
在宝塔计划任务中添加
logrotate -f /etc/logrotate.d/nginx
默认日志持续增长可能占用大量空间,建议配置每日日志轮转并压缩历史日志(宝塔面板已内置但需确认是否启用)。
七、启用Brotli压缩(需安装模块)
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript;
比Gzip更高的压缩率(约再减少20%),需通过宝塔「软件商店」安装Brotli模块后配置,现代浏览器均支持。
实施以上优化后,建议使用nginx -t
测试配置,并通过宝塔面板的「服务重启」功能平滑重载配置。不同业务场景可能需要针对性调整,生产环境建议先进行压力测试。
评论