加速nginx性能: 开启gzip和缓存

发布时间 - 2026-01-11 00:26:56    点击率:

开启gzip

配置

# 开启gzip
gzip on;
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 2;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";

关于具体的参数说明可以参考 nginx 的文档。

gzip_comp_level 参数

关于 gzip_comp_level 的合理值,可以参考下图。来自 serverfault

从图中可以看出 gzip_comp_level 大于2时效果并不是很明显。所以可以将值设置为1或者2。

开启缓存

配置

location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ { 
    access_log  off; 
    expires   30d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
  access_log  off;
  expires   24h;
}
location ~* ^.+\.(html|htm)$ {
    expires   1h;
}

其中的缓存时间可以自己根据需要修改。

关于字体
为静态资源开启缓存能够较少服务器带宽的消耗,特别是在css中使用字体时,同时配合gzip压缩能够大大减少下载字体造成的带宽影响。

设置字体缓存

需要注意的是,字体有很多格式,为所有字体格式设置缓存是很有必要的。

location ~* ^.+\.(eot|ttf|otf|woff|svg)$ {
    access_log  off;
    expires max;
}

启用gzip

只需要为 ttf、otf 和 svg 字体启用 gzip,对其他字体格式进行 gzip 压缩时效果不明显。

gzip_types font/ttf font/otf image/svg+xml

各种字体类型压缩效果可以参考以下测试结果:

可以看到对 woff 和 eot 进行 gzip 压缩效果不好。

字体总结

扩展名 是否压缩 Content-type
.eot application/vnd.ms-fontobject
.ttf font/ttf
.otf font/opentype
.woff font/x-woff
.svg image/svg+xml


# nginx  # 开启gzip  # Nginx Gzip模块启用和配置指令详解  # nginx下gzip配置参数详解  # Nginx开启Gzip压缩大幅提高页面加载速度的方法  # 详解Nginx服务器的配置中开启文件Gzip压缩的方法  # Nginx服务器中的GZip配置参数详解  # Nginx启用GZIP压缩网页传输方法(推荐)  # nginx配置gzip压缩页面  # Nginx基础入门之gzip配置指南  # nginx开启gzip压缩的完整步骤记录  # 一篇文章读懂nginx的gzip功能  # 的是  # 是在  # 会有  # 有很多  # 很有  # 只需  # 扩展名  # 详细说明  # 可以看到  # 可以看出  # 越好  # 越大  # 很明显  # 较少  # 要为  # 设置为  # 需要注意  # 有多种  # 图中  # 不明显 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速查询域名建站关键信息?  如何在服务器上配置二级域名建站?  python中快速进行多个字符替换的方法小结  千库网官网入口推荐 千库网设计创意平台入口  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  ,交易猫的商品怎么发布到网站上去?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  如何将凡科建站内容保存为本地文件?  微信小程序 require机制详解及实例代码  Laravel如何创建自定义Facades?(详细步骤)  利用vue写todolist单页应用  如何在Windows环境下新建FTP站点并设置权限?  详解Oracle修改字段类型方法总结  在线教育网站制作平台,山西立德教育官网?  油猴 教程,油猴搜脚本为什么会网页无法显示?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  详解Huffman编码算法之Java实现  Python函数文档自动校验_规范解析【教程】  实现点击下箭头变上箭头来回切换的两种方法【推荐】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  大学网站设计制作软件有哪些,如何将网站制作成自己app?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何快速建站并高效导出源代码?  如何彻底删除建站之星生成的Banner?  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何在局域网内绑定自建网站域名?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  在Oracle关闭情况下如何修改spfile的参数  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  C++用Dijkstra(迪杰斯特拉)算法求最短路径  SQL查询语句优化的实用方法总结  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  香港服务器如何优化才能显著提升网站加载速度?  中山网站推广排名,中山信息港登录入口?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  *服务器网站为何频现安全漏洞?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解