Nginx服务器实现数据静态压缩的方法

nginx实现静态压缩这种做法其实就像apache gzip压缩了,这种压缩是我们常见的一些事情了,下面我来介绍一些做法。

在搭建squid网页加速的时候,对于大的css 或者js要进行压缩,然后再进行缓存,这样能够提高减小下载量提高页面响应速度。如果你用的是squid 3.0以前的版本并且用的是 ngnix server的话可能会碰到如下问题: 不用squid直接打开页面则客户端返回的是压缩的状态,如果启用squid加速会发现下载下来的页面不是压缩状态。这里面主要是没有启动ngnix 的静态缓存模块(ngx_http_gzip_static_module)导致。

打开静态缓存问题就解决了

1.nginx编译选项

  ./configure --with-http_gzip_static_module  

2.修改nginx.conf

  gzip_static on;    gzip_http_version 1.1;  gzip_proxied expired no-cache no-store private auth;  gzip_disable "MSIE [1-6] .";  gzip_vary on;    #找不到预压缩文件,进行动态压缩     gzip on;    gzip_min_length 1000;   gzip_buffers 4 16k;   gzip_comp_level 5;   gzip_types text/plain application/x-javascript text/css application/xml;      #gzip公共配置     gzip_http_version 1.1   gzip_proxied expired no-cache no-store private auth;       

对于支持gzip的请求反向代理缓存服务器将返回gzip内容,不支持gzip的客户端返回原始内容。 

代码如下:
gzip_vary on;

1.gzip_static配置优先级高于gzip
2.开启nginx_static后,对于任何文件都会先查找是否有对应的gz文件
3.gzip_types设置对gzip_static无效

参与评论