[摘要]gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。本文介绍修改Apache配置文件开启gzip压缩传输。
最近无事研究一些Web的优化,用工具page speed检测网站时发现还没有开启gzip压缩,于是上网找来资料实验一下;在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤
第1步
LoadModuledeflate_modulemodules/mod_deflate.so
LoadModuleheaders_modulemodules/mod_headers.so
打开httpd.conf后,先将上面两行配置前面的#号去掉,这样apache就会启用这两个模块,其中mod_deflate是压缩模块,就是对要传输到客户端的代码进行gzip压缩;mod_headers模块的作用是告诉浏览器页面使用了gzip压缩,如果不开启mod_headers那么浏览器就会对gzip压缩过的页面进行下载,而无法正常显示。
第2步
在httpd.conf中加入以下代码,可以加到任何空白地方,不了解apache的朋友,如果担心加错地方,就放到http.conf文件的最后一行,如果是虚拟服务器可以写.htaccess文件里面,然后放在项目下即可。
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
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
AddOutputFilterByType DEFLATE text/* #设置对文件是文本的内容进行压缩,例如text/html text/css text/plain等
#这段代码你只需要了解application/javascript application/x-javascript这段就可以了,这段的意思是对javascript文件进行压缩
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
#这段是告诉apache对php类型的文件进行压缩Add
OutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
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 ,但是事实上它没有问题
</IfModule>
本配置到这里apache中的gzip压缩就配置完成,重启apache后,新的配置就会生效。最后再用工具检查一下,果然分数提高了很多~呵呵。 不过开启gzip功能需要额外CPU资源开销。
http://down.chinaz.com/server/201202/1645_1.htm
分享到:
相关推荐
apache mod_rpaf模块,获取反响代理真实IP,再也不用担心apache被反向代理获取不到真实IP了。爽歪歪
此apache mod_log_rotate 是win32下vc9版的apache 日志文件管理工具。 使用: 复制mod_log_rotate.so到 Apache2/modules 确保你的系统安装了 Visual C++ 2008 Redistributable (可从这里下载:) ...
Apache整合Weblogic,针对weblogic12.1.2,apache2.4版的mod_wl_24.so
把这两个文件放到,apache的modules目录中,然后查找httpd.conf这个文件,打开编辑,找到类似这样的LoadModule在他们的下面加上以下两段 LoadModule flvx_module modules/mod_flvx.so AddHandler flv-stream .flv ...
把这两个文件放到,apache的modules目录中,然后查找httpd.conf这个文件,打开编辑,找到类似这样的LoadModule在他们的下面加上以下两段 LoadModule flvx_module modules/mod_flvx.so AddHandler flv-stream .flv ...
apache 各个版本的对应 mod_jk都在这里
我widows7系统i5的,apache版本2.2.22,选择的mod_jk是: http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.33-windows-i386-httpd-2.2.x.zip 【希望大家用...
Jk是apache和tomcat的连接器,也可以做负载均衡器,主要是apache通过jk找到tomcat
php5apache2_4,这是一个补充文件
自己在APACHE2.4.7x64编译成功的mod_jk,希望大家不要再走弯路,我编译了好久,才最后得到正果。
关于Apache_mod_rewite的中文配置和RewriteRule规则详细介绍
django+apache+mod_wsgi完美匹配包
压缩包中有mod_jk.so文件,同时附带apache官网下载链接。 内含windows32/64的各版本mod_jk.so文件,同时包含各版本iis文件。
apache tomcat mod_proxY参数
预编译完成的Apache mod_wsgi Flask 32bit安装模块,python3.6.5,用于支持flask的网站部署,使用pip install mod_wsgi-4.6.5+ap24vc14-cp36-cp36m-win32.whl安装即可
把这两个文件放到,apache的modules目录中,然后查找httpd.conf这个文件,打开编辑,找到类似这样的LoadModule在他们的下面加上以下两段 LoadModule flvx_module modules/mod_flvx.so AddHandler flv-stream .flv ...
PHP配合Apapche得时候 偶尔会发现7.0缺少php7apache2_4配置文件
mod_limitipconn和bw_mod实现Apache限速-linux-win32,包含linux和window的apache限速,及其如何重启apache、对linux服务器抓包的方法。
本压缩包包含 httpd-2.2.25-win32-x86-openssl-0.9.8y.msi 和mod_jk-apache-2.2.2 经测试 apache+tomcat整合成功(tomcat为7.042)操作系统为Windows 2008 SP2
Django Apache mod_pythion 的安装和相关环境的配置 。