场景
Nginx 服务器为网页压缩专门提供了 gz 模块,并且模块中的相关指令均可以设置在http、server或location块中,
实现服务器端按照指定的设置进行压缩。
CentOS7中解压tar包的方式安装Nginx:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/121634518
参考上面流程实现搭建Nginx的基础上,实现静态资源的缓存设置。
注意上面安装时的目录是在/opt/nginx目录下,这里是在/usr/local/nginx目录下。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
实现
1、编辑nginx.conf配置文件
在http块中添加以下配置,用于完成网页压缩输出功能。
gzip on;
gzip_types text/plain application/javascript text/css;
添加位置
其中第一句用于启用gzip模块。
第二句用于在客户端访问网页时,对文本、JavaScript和CSS文件进行压缩输出。
2、访问测试
启动nginx,或重启使配置生效,按F12打开开发工具-单击请求-标头
可以看到Content-Encoding(内容编码)为gzip类型。
然后关闭gzip模块,重启nginx,再查看HTTP响应头信息,可以看到当前的Content-Length为615字节。
3、除了上述基本配置外,还可具体配置压缩比、缓存大小、对于代理是否采用压缩等详细的设置。
gzip_buffers:设置系统获取几个单位的缓存用于存储 gzip 的压缩结果数据流。
gzip_comp_level:gzip 压缩比,压缩级别是 9,1 的压缩级别最低, 的压缩级别最高。
压缩级别越高压缩率越大,压缩时间越长。
gzip_disable:可以通过该指令对一些特定的 User-Agent 不使用压缩功能。
gzip_min_length:设置允许压缩的页面最小字节数,页面字节数从响应消息头的Content-Length进行获取。
gzip_http_version:识别HTTP协议版本,其值可以是1.1或1.0
gzip_proxied:用于设置启用或者禁用从代理服务器上收到响应内容的gzip压缩功能
gzip_types:匹配MIME类型进行压缩。且无论是否指定,text/html类型总是会被压缩的
gzip_vary:用于在响应消息头中添加Vary:Accept-Encoding,使代理服务器根据请求头中的
Accept-Encoding 识别是否启用gzip压缩。