压缩每个对象可能会占用服务器硬件的大量CPU资源,这将导致NGINX变慢。不要压缩每个对象,将NGINX配置为仅压缩大型文件,并避免尝试压缩较小的文件(例如图像,可执行文件等)。

编辑/etc/nginx/nginx.conf文件,搜索gzip on;gzip off;修改为:

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_proxied any;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6]\.";

配置解释:

  • gzip on – 启用gzip压缩
  • gzip_vary on – 告诉代理缓存资源的压缩版本和常规版本
  • gzip_min_length 1024 – 通知NGINX不要压缩小于定义大小的任何内容
  • gzip_proxied – 根据请求和响应,为代理请求启用或禁用响应的压缩
  • gzip_types – 启用可以压缩的文件类型
  • gzip_disable "MSIE [1-6]\." – 禁用Internet Explorer 1-6版的压缩

保存并关闭nginx.conf文件,并使用以下命令重新启动NGINX:

sudo service nginx restart
nginx-gzip

验证gzip效果

Module ngx_http_gzip_module