三、nginx两种压缩配置[gzip]

一、nginx压缩

解释:通过配置参数,让nginx压缩指定后缀格式文件,然后发送给用户,但是这样这些压缩文件无法使用sendfile的高效传送(使用其能使得文件传输不经过程序,加载到缓存直接发送,相反off的话,需要在硬盘-缓存-程序-发送),因为文件需要先经过nginx压缩

  • gzip on/off;:开启压缩
  • gzip_types *;:参数为文件类型(多个参数之间加空格分割)(参数格式写在mime.types文件里面如image/png)(*号表示所有文件类型,但是不建议使用,因为图片视频没有必要压缩(其本身压缩程度很高),压缩这些只会加重服务器负担,效率很低)
  • gzip_comp_level 6;:推荐设置为6(区间为1-9,数值越大压缩程度越高,耗费资源越多)
  • gzip_min_length 1024;:表示多大的文件才压缩(示例为1kb(大于1kb才进行压缩),其也比较合适)
  • gzip_vary on;:在header头里面添加压缩标识
  • gzip_disable "MSIE [1-6]\.;";:该参数设置对不支持gzip的浏览器不开启该功能,其使用user-agent判断(实例里面为ie6以下不启用gzip)
  • gzip_proxied off;:在nginx作为反向代理服务器时才启用
    • 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 – 无条件压缩所有结果数据

示例(写在http、server里均可):

        gzip on;
        gzip_vary on;
        gzip_comp_level 6;
        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_min_length 1024;

二、nginx发送自行压缩

解释:不通过gzip进行压缩,这样就能使用sendfile的高效文件传输,此需关闭gzip压缩,然后打开一个下面的参数即可

  • gzip_static on | off | always;:优先寻找与资源同名的gzip文件(如vue.js会先去寻找vue.js.gz)(on当用户浏览器支持gz文件时发送,always不论用户浏览器是否支持都发送)

示例(写在http、server里均可):

gzip_static on;

你可能感兴趣的:(#,nginx服务器,nginx,linux,服务器)