`
hq369
  • 浏览: 12976 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

apache2.0开启gzip压缩

阅读更多


先谈gzip的配置方法,在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤:

第1步

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

打开httpd.conf后,先将上面两行配置前面的#号去掉,这样apache就会启用这两个模块,其中mod_deflate是压缩模块,就是对要传输到客户端的代码进行gzip压缩;mod_headers模块的作用是告诉浏览器页面使用了gzip压缩,如果不开启mod_headers那么浏览器就会对gzip压缩过的页面进行下载,而无法正常显示。

第2步

在httpd.conf中加入以下代码,可以加到任何空白地方,不了解apache的朋友,如果担心加错地方,就放到http.conf文件的最后一行。


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

    SetEnvIfNoCase Request_URI .(?:gifjpe?gpng)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
    SetEnvIfNoCase Request_URI .(?:exet?gzzipbz2sitrar)$ no-gzip dont-vary #同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
    SetEnvIfNoCase Request_URI .(?:pdfmovavimp3mp4rm)$ no-gzip dont-vary

    AddOutputFilterByType DEFLATE text/* #设置对文件是文本的内容进行压缩,例如text/html  text/css  text/plain等
    AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript #这段代码你只需要了解application/javascript application/x-javascript这段就可以了,这段的意思是对javascript文件进行压缩
    AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp #这段是告诉apache对php类型的文件进行压缩

    BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些问题,所以只压缩文件类型是text/html的
    BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的问题,所以不开启压缩
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE浏览器会伪装成 Netscape ,但是事实上它没有问题

    Header append Vary User-Agent env=!dont-vary #确保代理不会发送错误的内容
</IfModule>



本配置到这里apache中的gzip压缩就配置完成,重启apache后,新的配置就会生效,当然这里我们还不会重启apache因为下一步要配置http缓存,也就是mod_expires模块。

放到 ...


LoadModule expires_module modules/mod_expires.so

在httpd.conf中,找到上面的代码,然后将前面的#去掉

第2步

在httpd.conf中加入以下代码,可以加到任何空白地方,不了解apache的朋友,如果担心加错地方,就放到http.conf文件的最后一行。


<IfModule mod_expires.c>
    ExpiresActive On #激活http缓存,也就是个开关,必须有的一段代码
    ExpiresDefault A604800 #默认缓存时间为604800秒,也就是7天,A表示以客户端时间为准
    ExpiresByType text/css A3600 #对css文件缓存3600秒,也就是1小时,A表示以客户端时间为准
    ExpiresByType text/html A3600 #对html文件缓存3600秒,也就是1小时,A表示以客户端时间为准
    ExpiresByType application/x-javascript A3600 #对javascript文件缓存3600秒,也就是1小时,A表示以客户端时间为准
    ExpiresByType image/gif "access plus 2 month" #对gif图片缓存2个月,以客户端时间为准
    ExpiresByType image/jpeg "access plus 2 month" #对jpeg和jpg图片缓存2个月,以客户端时间为准
    ExpiresByType image/png "access plus 2 month" #对png图片缓存2个月,以客户端时间为准
    ExpiresByType image/x-icon "access plus 2 month" #对浏览器小图标缓存2个月,以客户端时间为准
    ExpiresByType application/x-shockwave-flash A2592000 #对flash文件缓存2592000秒,也就是1个月,A表示以客户端时间为准

    #特别注意也可以使用 ExpiresByType text/css M3600  这里的M表示以文件最后修改时间为准缓存1小时,例如有些时候,我们的HTML是大批量定时更新的,这个时候就可以用到M

  Header unset Pragma #删除掉http头信息中的Pragma,不懂的可以google一下Pragma,他也是控制浏览器缓存的,不过是用于http1.0标准
  FileETag None
  Header unset ETag #这段代码和上面一段的作用是不使用http1.1标准中的ETag属性
  <FilesMatch "\.(jscssicopdfflvjpgjpegpnggifmp3mp4swf)$"> #针对jscssico等后缀的文件进行单独设置
  #Header set Expires "Thu, 15 Apr 2013 20:00:00 GMT"
  Header unset Last-Modified #不使用http头信息中的Last-Modified属性,Last-Modified是指文件最后修改时间
  Header append Cache-Control "public" #设置为可被任何缓存区缓存
  </FilesMatch>
</IfModule>


上面的配置是我自己的服务器上正在使用的配置方法,在这里与大家分享一下,代码不会有错,最后不要忘记重启apache服务器哦!

如果有apache高人有更好的配置,请指教一下!

如果用的虚拟主机,而虚拟主机支持.htaccess,则可以将上面的代码放到.htaccess文件中。
分享到:
评论

相关推荐

    Apache 2.0 for windows

    - mod_deflate:用于GZIP压缩,减少网络传输大小,提高页面加载速度。 - mod_ssl:提供HTTPS支持,保证数据传输的安全性。 - mod_proxy:实现负载均衡和反向代理功能。 **安全管理**: 1. 限制访问:可以通过 `Deny...

    apacheApache 2.0 手册

    5. **过滤器系统**:Apache 2.0引入了过滤器框架,允许对HTTP响应内容进行处理,比如GZIP压缩、字符集转换等,提高了效率并降低了带宽需求。 6. **性能提升**:通过优化内存管理和请求处理流程,Apache 2.0在处理高...

    Apache2.0中文手册(chm格式)

    这份Apache2.0中文手册是为帮助用户理解并配置Apache服务器而编写的,包含了大量的技术细节和操作指南。 1. **Apache2.0安装与配置**: - 安装过程涉及下载源代码、编译和安装。在Linux环境下,通常使用`./...

    tomcat开启gzip

    而对于2.0及之后的版本,Apache本身已经集成了GZIP压缩支持,通过`mod_deflate`模块实现。 以下是在Apache中启用GZIP压缩的基本步骤: 1. **加载`mod_deflate`模块:** 在httpd.conf文件中取消对`LoadModule ...

    Apache 2.2中文手册

    4. **性能优化**:Apache 2.2提供了多种性能优化策略,如MPM(多进程模块)的选择,预读取(Prefork)、线程化(Worker)或者事件驱动(Event)模式,以及缓存机制和GZIP压缩等。 5. **错误处理与调试**:手册会...

    apache启用gzip压缩的实现方法

    【Apache启用Gzip压缩的实现方法】 Gzip是一种高效的文件压缩算法,广泛应用于Linux系统,尤其是在Web服务领域。它能够显著减小纯文本文件的大小,通常可将文件压缩70%以上,具体压缩比例取决于文件内容。Apache...

    apache-camel-2.0-M2.tar.gz

    这种格式是Unix/Linux系统中常用的压缩方式,由tar工具用于归档文件,并通过gzip工具进行压缩。 Apache Camel 的核心理念是使用“组件”来处理各种集成需求。它支持大量协议和数据格式,如HTTP、FTP、JMS、SMTP,...

    apache-log4j-2.0-beta3(含源码)

    6. **LayoutWrappers**:允许将多个布局组合在一起,如先使用XML布局然后使用GZIP压缩。 7. **Lifecycle接口**:所有组件实现了Lifecycle接口,支持启动、停止和状态检查操作。 8. **No longer supports properties ...

    Web2.0前端性能优化方案.pdf

    主流服务器如Apache支持开启GZIP压缩,只需在配置文件中启用mod_gzip或mod_deflate。注意,已压缩格式的图片不应再次压缩。 3. **CSS优先,JS延迟加载**:将CSS放在HTML头部,确保页面核心内容尽早显示。JavaScript...

    tomcat设置gzip压缩的原理及配置方法

    本文将详细介绍在Apache Tomcat服务器上设置GZIP压缩的原理和配置方法。 首先,让我们探讨一下GZIP压缩的原理。GZIP压缩算法基于deflate算法,是一种文件压缩格式,广泛用于在HTTP协议中进行文件压缩。当服务器对...

    apache-tomcat-8.5.0.tar.gz

    在Linux环境中,`apache-tomcat-8.5.0.tar.gz` 是一个经过gzip压缩的tar归档文件。这种文件格式是Linux系统中常用的打包方式,它能够将多个文件和目录打包成一个单一的文件,便于传输和存储。要解压这个文件,你可以...

    commons-lang-2.0.tar.gz

    标题中的"commons-lang-2.0.tar.gz"指示这是一个归档文件,使用tar和gzip格式进行压缩。在Unix和Linux系统中,这种格式很常见,便于存储和传输多个文件。解压这个文件后,你会得到"commons-lang-2.0"目录,其中包含...

    apache-maven-3.1.1-bin.tar 

    这个压缩包采用gzip压缩格式,并以tar归档,因此文件名为"apache-maven-3.1.1-bin.tar.gz"。 在解压后,你会得到一个名为"apache-maven-3.1.1"的目录,其中包含了以下关键组成部分: 1. **bin** 目录:这个目录...

    eyeOS-2.0.tar.gz

    ".tar"是用于将多个文件或目录打包成一个单一文件的工具,而".gz"则代表gzip,是一种数据压缩程序。因此,"eyeOS-2.0.tar.gz"意味着eyeOS 2.0的所有组件已经被打包并压缩,便于下载和存储。 解压此文件后,你会得到...

    apache-tomcat

    ".tar.gz"是一个常见的Linux/Unix文件打包格式,它将多个文件和目录打包成一个单一的归档文件,并使用gzip压缩算法进行压缩,以节省存储空间。 从标签"tomcat"中,我们可以进一步确认这个话题是围绕Apache Tomcat...

    mod_perl-2.0-current.tar.gz

    ".tar.gz"是一个常见的文件打包格式,它首先使用tar命令将多个文件和目录打包成一个单一的归档文件,然后用gzip工具进行压缩,以减小文件大小,方便传输和存储。 标签同样是"mod_perl-2.0-current.tar.gz",这可能...

    软件包gzip是一个中间件,可为Macaron的响应提供Gzip压缩。-Golang开发

    gzip中间件gzip提供对Macaron响应的压缩。 安装go get github.com/go-macaron/gzip获得帮助API参考文档信用此包是modi gzip...许可证该项目受Apache许可证2.0版的约束。 有关完整的许可证文本,请参阅LICENSE文件。

    apache_2.2.10-win32-x86-no_ssl.zip

    - 包含了mod_deflate模块,可以对HTTP响应进行GZIP压缩,减少网络传输的数据量。 3. Windows 32位安装: - 使用压缩包中的"apache_2.2.10-win32-x86-no_ssl.msi"安装文件,双击启动安装向导,按照提示完成安装。 ...

    金步国Apache2.2手册(html)

    2. **核心功能**:讲解Apache2.2的核心特性,如多路处理模型(MPM)、URL重写、目录索引、GZIP压缩等,以及如何通过.htaccess文件进行定制化配置。 3. **模块详解**:涵盖Apache2.2中的各种模块,如mod_rewrite用于...

    apache-tomcat-5.5.17-embed.tar.gz

    `apache-tomcat-5.5.17-embed.tar.gz`是一个归档文件,采用tar格式,并使用gzip进行压缩。在Unix或Linux系统上,可以使用`tar -zxvf apache-tomcat-5.5.17-embed.tar.gz`命令来解压。在Windows环境中,可以使用7-Zip...

Global site tag (gtag.js) - Google Analytics