提升网站性能:Nginx 启用 Gzip 压缩、缓存控制与 HTTP/2 配置教程
本文来自「码农资讯网」,专注 DevOps、PHP、数据库、系统运维干货。访问:www.codesou.cn,学习更多实战技巧。
一、为什么要优化静态资源传输?
网站打开慢、用户跳出率高,常见原因包括:
HTML/CSS/JS/图片未压缩,体积大
浏览器缓存未启用,重复加载资源
未启用 HTTP/2,无法并发加载请求
解决方案:
✅ Gzip 压缩 —— 减少资源体积
✅ 缓存控制 —— 提升浏览器缓存命中率
✅ 启用 HTTP/2 —— 提升并发传输效率
二、开启 Gzip 压缩
Gzip 是一种常见的网页压缩格式,支持几乎所有浏览器。
配置步骤:
打开你的 nginx.conf 或具体站点配置文件,在 http 或 server 段中添加:
nginx复制编辑gzip on;gzip_comp_level 6;gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;gzip_min_length 1024;gzip_vary on;gzip_disable "msie6";
参数说明:
gzip on;开启 Gzipgzip_comp_level压缩等级(1~9,越高越占 CPU)gzip_types指定压缩的 MIME 类型gzip_min_length最小压缩字节数,默认 20gzip_vary配合缓存代理使用
📌 建议:只压缩文本内容,不压缩图片视频类二进制资源
三、浏览器缓存控制(Cache-Control)
避免每次都请求服务器,减少带宽浪费。
配置方式一:统一设置所有静态资源缓存策略
gzip on; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; gzip_min_length 1024; gzip_vary on; gzip_disable "msie6";
配置方式二:按类型设置过期时间
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
add_header Cache-Control "public";
}🚨 注意:静态资源名若固定,强缓存更新困难;推荐使用 带版本号文件名(如
main.v3.js)
四、启用 HTTP/2
前提要求:
必须使用 HTTPS(HTTP/2 只支持加密连接)
使用 Nginx 版本 ≥ 1.9.5(建议 1.17+)
修改配置:
server {
listen 443 ssl http2;
server_name www.codesou.cn;
ssl_certificate /etc/letsencrypt/live/www.codesou.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.codesou.cn/privkey.pem;
...
}只需在 listen 443 ssl 后添加 http2 即可。
五、实战案例配置片段
server {
listen 443 ssl http2;
server_name www.codesou.cn;
root /www/wwwroot/codesou;
index index.html index.php;
# SSL配置略...
# 启用 Gzip 压缩
gzip on;
gzip_types text/plain application/javascript text/css application/json;
gzip_min_length 1024;
gzip_comp_level 6;
# 浏览器缓存
location ~* \.(js|css|png|jpg|jpeg|gif|ico|woff|woff2|ttf|svg)$ {
expires 30d;
add_header Cache-Control "public";
}
}六、如何验证效果?
| 工具 | 用途 |
|---|---|
| GTMetrix | 检测压缩、缓存、HTTP2 |
| Chrome DevTools > Network | 查看资源大小、缓存命中 |
| curl -I --http2 https://xxx.com | 验证是否启用 HTTP/2 |
七、总结建议
✅ 启用 Gzip:压缩文本资源
✅ 配置缓存策略:减少重复请求
✅ 启用 HTTP/2:提高并发加载效率
✅ 持续优化:结合 CDN 使用效果更佳
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!






