Nginx Gzip 压缩配置

Nginx Gzip 压缩配置

随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?

gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip过的页面。
Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于http{….}两个大括号之间。

gzip on;
//该指令用于开启或关闭gzip模块(on/off)

gzip_min_length 1k;
//设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。

gzip_buffers 4 16k;
//设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。

gzip_http_version 1.1;
//识别http的协议版本(1.0/1.1)

gzip_comp_level 2;
//gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)

gzip_types text/plain application/x-javascript text/css application/xml
//匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。
gzip_vary on;
//和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

nginx 配置gzip段如下:
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

下面是完整的nginx配置:

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
#proxy_pass http://localhost:8080/;
}
location /api {
proxy_pass http://localhost:8080;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

}

下面是详细说明2:

gzip
决定是否开启gzip模块
param:on|off
example:gzip on;

gzip_buffers 
设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间
param1:int
param2:int(k) 后面单位是k
example: gzip_buffers 4 8k;

gzip_comp_level
设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大
param:1-9
example:gzip_com_level 1;

gzip_min_length
当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩
param:int
example:gzip_min_length 1000;

gzip_http_version
用于识别http协议的版本,早期的浏览器不支持gzip压缩,用户会看到乱码,所以为了支持前期版本加了此选项,目前此项基本可以忽略
param: 1.0|1.1
example:gzip_http_version 1.0

gzip_proxied
Nginx做为反向代理的时候启用,
param:off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any]
expample:gzip_proxied no-cache;
off – 关闭所有的代理结果数据压缩
expired – 启用压缩,如果header中包含”Expires”头信息
no-cache – 启用压缩,如果header中包含”Cache-Control:no-cache”头信息
no-store – 启用压缩,如果header中包含”Cache-Control:no-store”头信息
private – 启用压缩,如果header中包含”Cache-Control:private”头信息
no_last_modified – 启用压缩,如果header中包含”Last_Modified”头信息
no_etag – 启用压缩,如果header中包含“ETag”头信息
auth – 启用压缩,如果header中包含“Authorization”头信息
any – 无条件压缩所有结果数据

gzip_types
设置需要压缩的MIME类型,非设置值不进行压缩
param:text/html|application/x-javascript|text/css|application/xml
example:gzip_types text/html;

时间: 2024-08-27 23:14:29

Nginx Gzip 压缩配置的相关文章

13 nginx gzip压缩提升网站速度

一:nginx gzip压缩提升网站速度 我们观察news.163.com的头信息 请求: Accept-Encoding:gzip,deflate,sdch 响应: Content-Encoding:gzip Content-Length:36093 再把页面另存下来,观察,约10W字节,实际传输的36093字节 原因-------就在于gzip压缩上. 原理: 浏览器---请求----> 声明可以接受 gzip压缩 或 deflate压缩 或compress 或 sdch压缩 从http协议

nginx gzip 压缩功能

nginx压缩功能 官方文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html nginx gzip 压缩模块提供了对文件内容压缩的功能,允许nginx服务器将输出内容在发送到客户端前根据具体策略进行压缩,用于节省网络带宽,同时提升用户体验. 此功能同apache的mod_deflate压缩功能,依赖ngx_http_gzip_module模块.默认情况以及安装.而. 需要压缩的文件(js,css,html等),不需要压缩的内容(如图

网站SEO之网页压缩nginx gzip压缩

网站SEO之网页压缩nginx gzip压缩 ,gzip压缩作用:将响应报?发送?客户端之前可以启?压缩功能,这能够有效地节约带宽,并提?响应?客户端的速度,压缩会消耗nginx的cpu性能1,如何查看网站是否压缩 2,压缩语法location ~ .*.(jpg|gif|png|bmp)$ //~区分大小写, 匹配任意字符开头以.jpg或.bmp结尾,注意这里的jgp等类型需要使用gzip_types调用gzip on; //开启gzip压缩gzip_http_version 1.1 //压缩

Nginx基于gzip压缩配置参数(Ngx_http_gzip_module)

Ngx_http_gzip_module(压缩模块):基于gzip方式对响应报文作压缩: 官方文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html 官方定义:The ngx_http_gzip_module module is a filter that compresses responses using the "gzip" method. This often helps to reduce the size of

nginx gzip压缩

确保已经安装ngx_http_gzip_module模块. 基本指令如下: 1. Syntax(语法): gzip on | off;                 Default(默认值): gzip off; content(应用场景): http, server, location 是否开启gzip模块  只有设置gzip为on时,才能使用该模块 2. Syntax: gzip_buffers number size;                 Default: gzip_buff

Nginx配置之Gzip压缩

为什么要进行压缩 web服务器将组成网页的文件进行gzip压缩后再传输给浏览器,浏览器获取到压缩文件后进行解压并解析展示网页内容.原本的资源只在传输过程中进行压缩,既节约了带宽,同时也提升了页面的浏览速率.在实际工作中,网页压缩使用的比较多,这里就简单的记录下nginx服务器下Gzip的配置 nginx的Gzip压缩配置 作为一款强大的web服务器,nginx当然也支持Gzip压缩. 编辑配置文件(核心命令参数) # 开启gzip功能 gzip on; # 配置nginx使用缓存空间的大小:16

Nginx服务器学习之 Nginx的基本配置

本文使用 Linux centos系统 一.Nginx虚拟主机的配置 虚拟主机:通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的.这些服务器是根据虚拟化技术分出来的,这样,一台服务器就可以虚拟成很多台子服务器.我们把子服务器叫做虚拟主机.我们搭建好Nginx服务器之后,此时只有一台Nginx服务器,这时如果我们对这台服务器进行虚拟主机配置,就可以将一台Nginx服务器分割为多台独立的子服务器. Nginx中配置虚拟主机的步骤主要有

Nginx服务器之 Nginx的基本配置

本文使用 Linux centos系统 一.Nginx虚拟主机的配置 虚拟主机:通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的.这些服务器是根据虚拟化技术分出来的,这样,一台服务器就可以虚拟成很多台子服务器.我们把子服务器叫做虚拟主机.我们搭建好Nginx服务器之后,此时只有一台Nginx服务器,这时如果我们对这台服务器进行虚拟主机配置,就可以将一台Nginx服务器分割为多台独立的子服务器. Nginx中配置虚拟主机的步骤主要有

虚拟主机ip配置,nginx.conf文件配置及日志文件切割

今天粗略整理了一下虚拟主机配置,nginx.conf文件的配置,及日志文件的切割,记录如下: nginx虚拟主机配置:1.IP地址配置,2.绑定ip地址和虚拟主机详情:1.ip地址的配置:ifconfig eth0 192.168.0.15 netmast 255.255.255.0虚拟ip及对应server块基本配置:ifconfig eth0:1 192.168.0.180 broadcast 192.168.0.255 netmask 255.255.255.0ifconfig eth0: