CentOS7 Apache调优之开启deflate压缩模块

启用Apache的deflate模块,能够开启压缩功能,减少网站传输时的带宽。javascript


apache须要编译安装方式,以/usr/local/apache为apache的安装目录,以源码包/usr/local/src/httpd-2.4.33为例php




首先查看/usr/local/apache/bin/apachectl -M    ###查看里面的模块是否有deflate模块,也能够过滤一下/usr/local/apache/bin/apachectl -M | grep deflatecss



如有则到httpd.conf下面开启,若是没有显示,或者用grep过滤后显示Syntax OK,则说明模块没有安装。html



以动态共享模块方式(DSO)编译安装deflate模块java


/usr/local/apache/bin/apxs -c -i -a /usr/local/src/httpd-2.4.33/modules/filters/mod_deflate.c         #其中前面部分是安装好的apache软件里面的apxs程序,后面是apache的源码安装包里面的deflate压缩模块
apache



apxs程序编译选项:bash

-c 表示执行编译模块操做app

-i  表示执行安装模块操做
ide

-a 表示自动添加一个LoadModule行到httpd.conf文件中,以激活该模块svg


注意:若是提示-bash: /apache/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory。请安装perl,perl-devel

yum install perl perl-devel

安装完成后修改apxs脚本:   vi /usr/local/apache/bin/apxs,将第一行“#!/replace/with/path/to/perl/interpreter -w”修改成#!/usr/bin/perl -w,wq保存退出,而后再次编译该模块



安装完成后,vi /usr/local/apache/conf/httpd.conf中查看该模块是否安装及激活

LoadModule deflate_module            modules/mod_deflate.so


注意:若是启动apache提示httpd: Syntax error on line 105 of /apache/conf/httpd.conf: Cannot load modules/mod_deflate.so into server: /apache/modules/mod_deflate.so: undefined symbol: inflate

则说明deflate模块没有找到zlib的库,能够先安装zlib,zlib-devel

yum install zlib zlib-devel

而后手动在httpd.conf下 加入如下命令

LoadFile /usr/lib64/libz.so   ##libz.so为deflate压缩模块所须要的库文件


<ifmodule mod_deflate.c>

    DeflateCompressionLevel 9  

    SetOutputFilter DEFLATE

    DeflateFilterNote Input instream

    DeflateFilterNote Output outstream

    DeflateFilterNote Ratio ratio

    AddOutputFilterByType    DEFLATE    text/html    text/plain    text/xml    text/css    text/javascript   application/xhtml+xml   application/xml    application/rss+xml     application/atom_xml    application/x-javascript      application/x-httpd-php     image/svg+xml     image/gif    image/png      image/jpe    image/swf    image/jpeg    image/bmp    application/javascript     

</ifmodule>


DeflateCompressionLevel 9 ###压缩等级(1-9),等级越大效率越高,但同时消耗的CPU也高,根据具体状况调优,也能够设置为6来平衡CPU及压缩质量

AddOutputFilterByType  ##仅压缩限制特定的MIME类型文件

相关文章
相关标签/搜索