Nginx压缩功能
配置文件
user nginx;
worker_processes 1;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
启用压缩
参考链接:https://nginx.org/en/docs/http/ngx_http_gzip_module.html
user nginx;
worker_processes 1;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
gzip on;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_min_length 1k;
gzip_types text/css;
gzip_vary on;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
-
gzip on | off Nginx支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相应的CPU资源。 开源使用"gzip on;"参数来启用压缩,默认是关闭的 -
gzip_comp_level lenvel 压缩比例由低到高从1到9,默认为1。但需要注意的是压缩比设置的越高就会越消耗CPU的资源,因此在生产环境中我们会设置该参数的值在3~5之间,最好不要超过5,因为随着压缩比的增大的确会降低传输的带宽成本但发送数据前会占用更多的CPU时间分片。 具体设置级别为多少,得咱们运维人员对CPU的利用率做一个监控,如果CPU利用率过低则不会使用,可以酌情将压缩级别参数调大,当然调大后依旧需要观察一段业务高峰期时间CPU的利用率,最终会找到一个适合你们公司业务的压缩比例。 -
gzip_disable “MSIE [1-6].” #禁用对“User-Agent”标头字段匹配任何指定正则表达式的请求的响应进行 gzip 压缩 禁用IE6 gzip功能。 -
gzip_min_length 1k gzip压缩的最小文件,小于设置值的文件将不会压缩 -
gzip_http_version 1.0|1.1 启用压缩功能时,协议的最小版本,默认HTTP/1.1 -
gzip_buffers number size #默认情况下,缓冲区大小等于一页内存 指定Nginx服务需要向服务器申请的缓存空间的个数*大小,默认32 4k|16 8k -
gzip_types mine-type … #设置哪压缩种文本文件可参考 conf/mime.types 指明仅对哪些类型的资源执行压缩操作;默认为gzip_types text/html,不用显示指定,否则出错 -
gzip_vary on| off 如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding”,建议开启该参数,让用户知道咱们服务端是支持压缩的
|