Apache--mod_deflate模块(这是apache调优的重要参数)

mod_deflate介绍:

该模提供了DEFLATE输出过滤器,允许服务器在将输出内容发发送到客户端以前进行压缩,以节约带宽。

好处一:提升用户体验

由于内容小了,所以访问页面就快了,用户体验提升了,网站口碑就好了。

好处二:节省网站带宽成本

由于数据压缩传输,因此节省了网站的带宽流量成本,会多消耗一些CPU来进行压缩,满足用户了,公司也少花钱了。


检查模块是否安装:

[root@eric6 ~]#/application/apache/bin/apachectl -l|grep mod_deflate

mod_deflate.c>>出现这表明已在安装时加入了支持

如果在查找的时候没有安装该模块,可以使用DSO方式安装:

[root@eric6metadata]# cd /home/tools/httpd-2.2.25/modules/metadata/

[root@eric6metadata]# ll mod_deflate.c

-rw-r--r-- 1liuyalei liuyalei 18285 11月 12 2008 mod_deflate.c

[root@eric6metadata]# /application/apache/bin/apxs -c -i -a mod_deflate.c

注释expires配置

<ifmodulemod_deflate.c>

DeflateCompressionLevel 9#压缩等级,越大效率越高,耗CPU/MEM也高

SetOutputFilter DEFLATE#启用压缩

AddOutputFilterByType DEFLATEtext/html text/plain text/xml#压缩类型

AddOutputFilterByType DEFLATEapplication/javascript#压缩类型

AddOutputFilterByType DEFLATE text/css#压缩类型

</ifmodule>



实例:为一个server标签添加expires功能

<VirtualHost*:80>

ServerAdmin 952773925@qq.com

DocumentRoot "/var/bbs"

ServerName bbs.liuyalei.com

ServerAlias liuyalei.com

ErrorLog "logs/bbs-error_log"

CustomLog "logs/bbs-access_log"common

ExpiresActive on

ExpiresDefault "access plus 12month"

ExpiresByType text/html "accessplus 12 months"

ExpiresByType text/css "accessplus 12 months"

ExpiresByType p_w_picpath/gif "accessplus 12 months"

ExpiresByType p_w_picpath/jpeg "accessplus 12 months"

ExpiresByType p_w_picpath/jpg "accessplus 12 months"

ExpiresByType p_w_picpath/png "accessplus 12 months"

EXpiresByType application/x-shockwave-flash"access plus 12 months"

EXpiresByType application/x-javascript"access plus 12 months"

ExpiresByType video/x-flv "accessplus 12 months"


<ifmodulemod_deflate.c>

DeflateCompressionLevel 9

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATEtext/html text/plain text/xml

AddOutputFilterByType DEFLATEapplication/javascript

AddOutputFilterByType DEFLATE text/css

</ifmodule>


</VirtualHost>



检查配置,重启apache服务

[root@eric6apache]# bin/apachectl -t

Syntax OK

[root@eric6apache]# bin/apachectl graceful

[root@eric6apache]# lsof -i:80

COMMANDPIDUSERFDTYPE DEVICE SIZE/OFF NODE NAME

httpd4734root4uIPv6 1635410t0TCP *:http (LISTEN)

httpd8470 daemon4uIPv6 1635410t0TCP *:http (LISTEN)

httpd8471 daemon4uIPv6 1635410t0TCP *:http (LISTEN)

httpd8472 daemon4uIPv6 1635410t0TCP *:http (LISTEN)




在火狐浏览器测试:

具体按照插件见之前文档