当前位置: 首页 > 编程笔记 >

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

封永嘉
2023-03-14
本文向大家介绍加速nginx性能: 开启gzip和缓存,包括了加速nginx性能: 开启gzip和缓存的使用技巧和注意事项,需要的朋友参考一下

开启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

 类似资料:
  • 请问amh7.1的lnmp是如何开启gzip的,网上搜索又说lnmp默认是开启了gzip的, 但是为什么有的测速网站提示又没有开启呢?另外之前用lnmp我记得是在nginx.conf里面有看到开启gzip的, 如果这个amh7.1 的lnmp环境里面开启gzip该如何操作? amh gzip

  • 我试图启用gzip压缩的组件我的网站。我有ubuntu 11.04服务器和nginx 1.2。 在网站的nginx配置中,我有以下内容 Yslow和谷歌的速度测量建议我使用gzip来减少网络传输。现在,当我尝试时,我得到了 是否知道我做错了什么,或者我应该做什么来获得压缩内容?

  • 通常,开发者会使用redis等内存数据库作为缓存加速的首选手段。但是对hi-nginx-java来说,这些反而是次优的选择。hi-nginx本身即包含缓存加速器,无需额外与其他服务器建立连接即可实现高速缓存加速。 系统缓存加速 系统缓存加速机制包含在hi-nginx的工作进程之中。只需添加hi-nginx的四个配置项,即可实现: hi_need_cache on;

  • gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分; Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。 利用 MinDoc 中的Gzip模块,可以使用Gzip压缩算法来对 MinDoc 发布的网页内容进行压缩后再传输到客户端浏览器。这

  • 在本章中,我们将了解Grav中的性能和缓存概念。 表现(Performance) 术语“性能”指的是系统性能,使其能够处理更高的系统负载并修改系统以处理更高的负载。 考虑以下与Grav表现有关的要点 - 要获得更好的opcache性能,可以使用PHP opcache和usercache 。 opcache适用于PHP 5.4,使用PHP 5.5,PHP 5.6和Zend opcache可以更快地运

  • 背景 我们在Tengine中实现了SO_REUSEPORT [1]的支持。为了查看其效果,我们进行了一个简单的测试。我们在同一个局域网中部署了一共四台同等配置的服务器,其中一台同时部署Tengine和Nginx,分别监听不同的端口,另外三台部署ab,三个ab同时压测,从总并发100逐步递增到1000,分别压测Tengine和Nginx,访问空gif图片。 三种压测场景: Tengine打开SO_R

  • SOFABoot 提供了模块并行加载以及 Spring Bean 异步初始化能力,用于加快应用启动速度。模块并行加载参考相应文档,下面介绍如何使用 SOFABoot 异步初始化 Spring Bean 能力来提高应用启动速度。 引入依赖 SOFABoot 在 v2.6.0 开始提供异步初始化 Spring Bean 能力,引入如下 Starter 即可: <dependency> <gro

  • 本文向大家介绍Tomcat7中开启gzip压缩功能的配置方法,包括了Tomcat7中开启gzip压缩功能的配置方法的使用技巧和注意事项,需要的朋友参考一下 使用gzip压缩可以减少数据传输大小,加快网页加载速度。很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,上次看了一篇文章说开启gzip压缩后对搜索引擎不友好,但从带宽和流量的角度来看,还是有必要开启gzip压缩的。 对于t