apache和nigx中GZIP开启方法介绍

如何查看自己的网站已经开启gzip了?

方法-:

通过在线的工具比如(站长之家)查询,比如的我的博客开启了在查询就如图:QQ截图

 

 

方法二:

通过浏览器的审查元素或者firebug之类工具查看服务器返回的header是否包含了“gzip”

如图:

如何开启呢?

要让apache支持gzip功能,要用到deflate_Module和headers_Module。打开apache的配置文件httpd.conf,大约在100行左右,找到以下两行内容:(这两配置隔个好几行)

#LoadModule deflate_module modules/mod_deflate.so 
#LoadModule headers_module modules/mod_headers.so

然后将其前面的“#”注释删掉,表示开启gzip压缩功能。开启以后还需要进行相关配置。在httpd.conf文件的最后添加以下内容即可:

<IfModule deflate_module>
    #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩 
    SetOutputFilter DEFLATE 
  
</IfModule>

最少需要加上以上内容,才可以生gzip功能生效。由于没有做其它的额外配置,所以其它相关的配置均使用Apache的默认设置。这里说一下参数“DeflateCompressionLevel”,它表示压缩级别,值从1到9,值越大表示压缩的越厉害。

注意,这里要强调一个地方,我是通过搜索引擎找到相关文章进行设置的,而这些文章可能是来回复制的,有错误都不知道,如果你也按照那些做法去做,八层是出错,直接Apache都启动不了。究其原因,主要是有个参数不匹配。在上面去掉注释的“#”,即:

LoadModule deflate_module modules/mod_deflate.so

这里以后会用到中间的名称,即deflate_module。后续开启gzip压缩中要使用该名称,即:

<IfModule deflate_module>  
    ......
    ......
</IfModule>

这两个deflate_module必须一致。网络上其它很多文章,都是不一致的,所以直接报错。我之前学的时候就是比较坑

下面是另一个典型配置我网上找的,供参考。这里不建议将图片视频等多媒体文件进行gzip压缩,一般只压缩纯文本格式的文件,如.php、.txt、.html、.css、.js等

因为图片等资源压缩的话,除非你有一个强大的服务器。

<IfModule deflate_module>
  
    #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩 
  
    SetOutputFilter DEFLATE 
  
    #压缩级别,1-9,9为最高 
  
    DeflateCompressionLevel 9  
  
  
    #不进行压缩的文件 
  
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩 
  
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是设置不对exe,tgz,gz。。。的文件进行压缩 
  
    SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary   
  
    
  
    #针对代理服务器的设置 
  
    <IfModule headers_moudle>
  
    Header append vary User-Agent 
  
    </IfModule>
  
</IfModule>

nginx开启gzip压缩

1)Vim打开Nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

2)找到如下一段,进行修改

#开启Gzip
gzip on;
#不压缩临界值,大于1K的才压缩,一般不用改

gzip_min_length 1k;gzip_buffers 4 16k;
#gzip_http_version 1.0;
#压缩级别,1-10,数字越大压缩的越好,时间也越长

gzip_comp_level 4;
#进行压缩的文件类型

gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
#跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"

gzip_vary off;
#IE6不压缩

gzip_disable "MSIE [1-6].";

总结一下:

开启gzip的优点:

节省带宽。

提高页面加载速度快。

适合中小网站或者idc虚拟主机使用

开启gzip的缺点:

会消耗cpu资源

对流量大的网站,不建议开启的。gzip会占用cpu资源太多,且回收机制不是太好

对的图片和视频的压缩,几乎在实际情况不能使用。局限在的只能压缩html,js文件

时间: 2024-11-02 21:44:32

apache和nigx中GZIP开启方法介绍的相关文章

php在apache环境下实现gzip配置方法_php技巧

本文实例讲述了php在apache环境下实现gzip配置方法.分享给大家供大家参考.具体如下: 1.conf/httpd.conf 1) 去掉#LoadModule headers_module modules/mod_headers.so前面的注释#, 2) 添加LoadModule deflate_module modules/mod_deflate.so, 3) 去掉#Include conf/extra/httpd-vhosts.conf前面的注释#.  2.conf/extra/htt

Python中字符串对齐方法介绍

  这篇文章主要介绍了Python中字符串对齐方法介绍,本文介绍Python字符串内置方法ljust.rjust.center的用法,需要的朋友可以参考下 目的 实现字符串的左对齐,右对齐,居中对齐. 方法 字符串内置了以下方法:其中width是指包含字符串S在内的宽度,fillchar默认是空格,也可以指定填充字符 代码如下: string.ljust(s, width[, fillchar]) string.rjust(s, width[, fillchar]) string.center(

Javascript中的call()方法介绍

 这篇文章主要介绍了Javascript中的call()方法介绍,本文讲解了Call() 语法.Call() 参数.Javascript中的call()方法.Call()方法的实例等内容,需要的朋友可以参考下     在Mozilla的官网中对于call()的介绍是: 代码如下: call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. Call() 语法 代码如下: fun.call(thisArg[, arg1[, arg2[, ...]]])   Cal

apache启用gzip压缩方法介绍

开启方法如下: 1. httpd.conf中打开deflate_Module和headers_Module模块 2. httpd.conf中添加: 具体方法编辑 /etc/httpd.conf (Linux),开启这两个模块(如果没开启的话) 如果是windows方法也一样找到httpd.conf文件  代码如下 复制代码 LoadModule headers_module modules/mod_headers.so LoadModule deflate_module modules/mod_

JavaScript中的异常处理方法介绍

 这篇文章主要介绍了详解JavaScript中的异常处理方法,包括基本的try...catch语句和throw语句的使用,需要的朋友可以参考下     有三种类型的编程错误:(1)语法错误和(2)运行时错误(3)逻辑错误: 语法错误: 语法错误,也被称为解析错误,在编译时进行传统的编程语言,并出现在JavaScript解释时. 例如,下面一行将导致一个语法错误,因为它缺少一个右括号: ? 1 2 3 4 5 <script type="text/javascript"> &

Windows系统环境下安装Apache并配置虚拟目录的方法介绍

本文极为简要的介绍了如何在Windows平台下安装Apache2.2.x并配置虚拟目录. 以作为快速安装的参考. 详细的设置最好的文档是官方的说明文档见下方的链接, 在安装配置的时候仔细的查阅文档是很好的解决办法. 1. Apache HTTP Server Version 2.2 英文文档 2. Apache HTTP Server Version 2.2 中文文档 ---------- 准备条件 ---------- 到 http://httpd.apache.org/ 下载相应版本的Apa

Javascript中的call()方法介绍_javascript技巧

在Mozilla的官网中对于call()的介绍是: 复制代码 代码如下: call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. Call() 语法 复制代码 代码如下: fun.call(thisArg[, arg1[, arg2[, ...]]]) Call() 参数 thisArg 复制代码 代码如下: 在fun函数运行时指定的this值.需要注意的是,指定的this值并不一定是该函数执行时真正的this值,如果这个函数处于非严格模式下,则指定为nul

JavaScript中的every()方法介绍

  JavaScript 数组中的每个方法测试数组中的所有元素是否经过所提供的函数来实现测试. 语法 ? 1 array.every(callback[, thisObject]); 下面是参数的详细信息: callback : 函数用来测试每个元素 thisObject : 对象作为该执行回调时使用 返回值: 返回true,如果此数组中的每个元素满足所提供的测试函数. 兼容性: 这种方法是一个JavaScript扩展到ECMA-262标准;因此它可能不存在在标准的其他实现.为了使它工作,你需要

apache开启gzip压缩方法介绍

第1步  httpd.conf中打开deflate_Module和headers_Module模块  代码如下 复制代码 LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so 把前面的#号去掉,然后我们再在apache的httpd.conf中,加入下面代码  代码如下 复制代码 <IfModule mod_deflate.c> SetOutputFilt