服务器上跑了两个网站,一个是cacti,一个是自己的博客,均为PHP语言网站,虽然访问量不大,但是不管是cacti还是博客,里面含有大量图片,浏览起来速度并不是自己想象的那么理想,于是便对Apache简单做了下优化——启用gzip压缩功能。网站启用gzip压缩功能对于提升网站性能是非常明显的,首先是减少了服务器使用的带宽,其次是提高了用户浏览网站的速度。当然也有弊端,就是增加了硬件负载。最终的优化结果还是不错的,网站访问速度确实提升了不少。那么如何在Apache上开启gzip压缩呢?下面听老衲一 一道来
一、生成gzip压缩模块
Apache的gzip功能是使用mod_deflate.so模块,因此,我们先生成mod_deflate.so模块。首先从网上下载一个Apache安装程序(尽量与当前使用的Apache版本相同)然后解压,我们解压到了tmp目录下
#cd /tmp/httpd-2.2.11/modules/filters
#/usr/local/apache/bin/apxs -i -c -a mod_deflate.c //生成mod_deflate.so模块
这时候在Apache安装目录的modules文件夹下应该就多了一个mod_deflate.so模块文件
#ls /usr/local/apache/modules/
httpd.exp libphp5.so mod_deflate.so
二、在Apache中开启gzip压缩
打开Apache配置文件,然后添加mod_deflate.so模块
#vi /usr/local/apache/conf/httpd.conf
LoadModule deflate_module modules/mod_deflate.so
三、设置gzip压缩
打开Apache配置文件,然后添加如下三行内容
#vi /usr/local/apache/conf/httpd.conf
AddOutputFilterByType DEFLATE text/html text/php text/png text/jpg text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
上述参数解释:
AddOutputFilterByTy 对什么样的内容启用GZIP压缩
DeflateCompressionLevel 压缩级别
SetOutputFilter DEFLATE 启用deflate模块对本站点的所有输出进行GZIP压缩
四、重启Apache
#/usr/local/apache/bin/apachectl stop
#/usr/local/apache/bin/apachectl start