apache添加压缩办法

到apache的源码包httpd-2.0.63/modules/filters目录下面执行

apxs -ica mod_deflate.c

 

然后修改apache的配置文件:

vi /usr/local/apache2/conf/httpd.conf

LoadModule deflate_module     modules/mod_deflate.so

#如下参数可以根据自己需要添加
<IfModule mod_deflate.c>
    DeflateCompressionLevel 7
    AddOutputFilterByType DEFLATE text/html text/css  application/javascript  application/x-javascript
    AddOutputFilter DEFLATE css js
</IfModule>

然后测试通过之后重启apache即可

如果出现如下错误
Cannot load /usr/local/apache/modules/mod_deflate.so into server: /usr/local/apache/modules/mod_deflate.so: undefined symbol: inflateEnd

解决办法:

办法1.需要在 LoadModule deflate_module  modules/mod_deflate.so 的前面加载zlib.so
如32操作系统增加以下内容:
LoadFile /usr/lib/libz.so
LoadModule deflate_module     modules/mod_deflate.so
如64操作系统增加以下内容:
LoadFile /usr/lib64/libz.so
LoadModule deflate_module     modules/mod_deflate.so

办法2:vi /usr/local/apache2/bin/apr-config
修改LDFLAGS=" " 为 LDFLAGS="-lz"
然后再apxs -ica mod_deflate.c

 

nginx添加压缩办法

nginx默认情况下gzip是开启的,但是只对html文件压缩,不对js文件压缩,所以需要配置一下nginx的gzip_types参数
编辑nginx.conf文件,在http段加入一下配置
gzip  on;
   gzip_min_length  1000;
   gzip_buffers     4 8k;
   gzip_types       text/plain application/x-javascript text/css text/html application/xml text/javascript;
 

重启nginx就可以了