Nginx模块参考手册:Gzip压缩模块(Gzip)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除。

这个模块允许在文件传输过程中使用gzip压缩。
如下例:

gzip on; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml; gzip_disable "MSIE [1-6]\.";

可以使用$gzip_ratio变量指定压缩比率。

指令

gzip

语法:gzip on|off
默认值:gzip off
使用字段:http, server, location, location中的if字段
指定是否启用gzip压缩。

gzip_buffers

语法:gzip_buffers number size
默认值:gzip_buffers 4 4k/8k
使用字段:http, server, location
指定缓存压缩应答的缓冲区数量和大小,如果不设置,一个缓存区的大小为分页大小,根据环境的不同可能是4k或8k。

gzip_comp_level

语法:gzip_comp_level 1..9
默认值:gzip_comp_level 1
使用字段:http, server, location
指定压缩等级,其值从1到9,1为最小化压缩(处理速度快),9为最大化压缩(处理速度慢)。

gzip_disable

语法:gzip_disable regex
使用字段:http, server, location
使用正则表达式来指定某些不需要gzip压缩的浏览器(将和User-Agents进行匹配)。依赖于PCRE库。在0.6.23版本中首次使用。
0.7.63版本以后,你可以为IE5.5和IE6 SP1使用msie6参数来禁止gzip压缩。

gzip_disable "msie6";

gzip_http_version

语法:gzip_http_version 1.0|1.1
默认值:gzip_http_version 1.1
使用字段:http, server, location
是否根据HTTP请求版本来启用gzip压缩。
当HTTP版本为1.0时,Vary: Accept-Encoding没有被设置,这将引起某些代理缓存失效,可以使用add_header,同样,在使用这个版本时Content-Length也没有设置,因此Keepalive不能在这个版本使用。

gzip_min_length

语法:gzip_min_length length
默认值:gzip_min_length 0
使用字段:http, server, location
设置被压缩的最小请求,单位为bytes。少于这个值大小的请求将不会被压缩,这个值由请求头中的Content-Length字段决定。

gzip_proxied

语法:gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] …
默认值:gzip_proxied off
使用字段:http, server, location
根据某些请求和应答来决定是否在对代理请求的应答启用压缩,事实上,代理请求取决于请求头中的“Via”字段,指令中可以同时指定多个不同的参数:

off - 为所有代理请求禁用压缩。 expired - 当“Expires”头禁用缓存时启用压缩。 no-cache - 当“Cache-Control”头设置为no-cache时启用压缩。 no-store - 当“Cache-Control”头设置为no-store时启用压缩。 private - 当“Cache-Control”头设置为private时启用压缩。 no_last_modified - 当“Last-Modified”没有定义时启用压缩。 no_etag - 没有“ETag”头时启用压缩。 auth - 当有一个“Authorization”头时启用压缩。 any - 为所有请求启用压缩。

gzip_types

gzip_types mime-type [mime-type …]
默认值:gzip_types text/html
使用字段:http, server, location
为除“text/html”之外的MIME类型启用压缩,“text/html”总是会被压缩。

gzip_vary

ggzip_vary on|off
默认值:gzip_vary off
使用字段:http, server, location
启用应答头“Vary: Accept-Encoding”,注意,由于一个bug将导致IE 4-6无法缓存内容。

时间: 2024-07-30 23:06:00

Nginx模块参考手册:Gzip压缩模块(Gzip)的相关文章

Nginx模块参考手册:日志模块(Log)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 控制nginx如何记录请求日志.例: log_format gzip '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"'; access

Nginx模块参考手册:Map模块(Map)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块允许你分类或者同时映射多个值到多个不同值并储存到一个变量中,map指令用来创建变量,但是仅在变量被接受的时候执行视图映射操作,对于处理没有引用变量的请求,这个模块并没有性能上的缺失. 如下例: map $http_host $name { hostnames; default 0; example.com 1; *.example.com 1; test.com 2; *.test.com 2; .si

Nginx模块参考手册:SSI模块(SSI)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块为处理服务器端包含(SSI)的输入提供一个过滤器,目前所支持的SSI命令并不完善.如下例: location / { ssi on;} 指令 ssi 语法:ssi [ on | off ] 默认值:ssi off 使用字段:http, server, location, location中的if字段 启用SSI处理.注意如果启用SSI,那么Last-Modified头和Content-Length头不会

Nginx模块参考手册:Scgi模块(Scgi)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块允许nginx同Scgihttp://www.aliyun.com/zixun/aggregation/18521.html">协同工作,并且控制哪些参数将被安全传递,这个页面基本是拷贝自FastCGI与proxy,所以并不一定完全准确.这个模块最早可用于版本0.8.42.例: location / { include scgi_params; scgi_pass localhost: 9000;

Nginx模块参考手册:Geo模块(Geo)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块创建一些变量,其值依赖于客户端的IP地址:如下例: geo $geo { default 0; 127.0.0.1/32 2; 192.168.1.0/24 1; 10.1.0.0/16 1;} 指令 geo 语法:geo [$ip_variable] $variable { - } 默认值:none 使用字段:http 这个指令指定了一个客户端IP的所属国家,默认情况下它会查找$remote_addr

Nginx模块参考手册:uWSGI模块(uWSGI)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 为uwsgi协议提供支持.示例配置: location / { uwsgi_pass unix:///var/run/example.com.sock; include uwsgi_http://www.aliyun.com/zixun/aggregation/12616.html">params; } 注意不要把uwsgi协议和uWSGI服务器混淆. 指令 uwsgi_pass 语法:uwsgi_pas

Nginx模块参考手册:FastCGI模块(FastCGI)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 这个模块允许nginx同FastCGI协同工作,并且控制哪些参数将被安全传递.例: location / { fastcgi_pass localhost:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /h

Nginx模块参考手册:Memcached模块(Memcached)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 使用这个模块简单的处理缓存.示例配置: server { location / { set $memcached_key $uri; memcached_pass http://www.aliyun.com/zixun/aggregation/11696.html">name:11 211; default_type text/html; error_page 404 = /fallback; } loc

Nginx模块参考手册:主模块(Main Module)

摘要 包含一些Nginx的基本控制功能 指令 daemon 语法:daemon on | off默认值:on daemon off; 生产环境中不要使用"daemon"和"master_process"指令,这些指令仅用于开发调试.虽然可以使用daemon off在生产环境中,但对性能提升没有任何帮助,但是在生产环境中永远不要使用master_process off. env 语法:env VAR|VAR=VALUE默认值:TZ使用字段:main这个命令允许其限定一

Nginx模块参考手册:第三方模块(3rd Party Modules)

这些模块虽然没有正式被官方支持,但是可以http://www.aliyun.com/zixun/aggregation/17185.html">帮助用户完成不少的功能.使用过程中请自行承担遇到的问题.在nginx源代码目录中使用下列命令添加第三方模块: ./configure --add-module=/path/to/module1/source \            --add-module=/path/to/module2/source 可以根据需求使用多个–add-module