最新消息:

Apache页面压缩mod_deflate

apache admin 2917浏览 0评论

Mod_deflate 是apache自带的模块,当然是在apache 2后支持的,以前1的时候是mod_gzip,启用mod_deflate可以很好的为节省网页大小,只不过是占用服务器的资源和内存.用户看到页面的速度会大大加快.

提高网站速度除制作时减少冗余代码、进一步精简网页、CSS文件外,压缩输入也是一个不错的方法。deflate是apache自带的压缩模块,可以对动态输出内容或者静态内容(如HTML、JS、CSS等)进行压缩,减少网络传输量,从而提高响应速度,也提高了系统负载能力。

mod_filter过滤模块也扩展了功能,允许过滤器根据有条件的规定运行。这就改动了以前的旧模式。根据旧模式,只能根据 AddOutputFilterByType指令稍微灵活一点地对文件实施过滤。

1、到apache的源文件目录
cd /usr/src/httpd-2.0.63/modules/filters
编译并安装
/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c

2、如果能正确执行,则会把mod_deflate.so拷贝到/usr/local/apache/modules下,
并在配置文件中加入一行 LoadModule deflate_module  modules/mod_deflate.so
在配置文件中加入两行配置
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js

或者:

DeflateCompressionLevel 6 #压缩率, 6是建议值.
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml

里面的文件MIME类型可以根据自己情况添加,至于PDF 、图片、音乐文档之类的这些本身都已经高度压缩格式,重复压缩的作用不大,反而可能会因为增加CPU的处理时间及浏览器的渲染问题而降低性能。所以就没必要再通过Gzip压缩。

3、重启apache
/usr/local/apache2/bin/apachectl restart
测试
到 http://gzip.zzbaike.com/ 测试一下看看

4、如果重启的时候出现错误
引用
Cannot load /usr/local/apache/modules/mod_deflate.so into server: /usr/local/apache/modules/mod_deflate.so: undefined symbol: inflateEnd
需要在 LoadModule deflate_module  modules/mod_deflate.so 的前面加载zlib.so

这里需要注意的是LoadModule deflate_module需要放在LoadModule php5_module之后

引用
LoadFile /usr/lib/libz.so
LoadModule deflate_module     modules/mod_deflate.so

 

转载请注明:爱开源 » Apache页面压缩mod_deflate

您必须 登录 才能发表评论!