httpd调优-启用压缩模块

1、检查模块是否已经安装:

[root@wyq63 ~]# httpd -M | grep deflate

 deflate_module (shared)#弹出此种结果,则为 DSO 方式安装的

deflate_module (static)#弹出此种结果,则为编译安装时装的

安装了的话,就可以直接迚行压缩配置了,如果没有安装,下面为安装方法


2、安装deflate模块

a)编译时安装方法
编译的时候跟上--enable-deflate 即可实现安装

b)DSO 方式安装。
扩展:DSO: Dynamic shared object 劢态共享对象 。DSO 模块可以在编译服务器之后编译,也可以
用 Apache 扩展工具(apxs)编译并增加
使用 DSO 方式安装,/usr/local/httpd/bin/apxs 后跟的参数详解
-c 此选项表明需要执行编译操作。它首先会编译 c 源程序(.c)files 为对应的目标代码文件(.c),然
后连接这些目标代码和 files 中其余的目标代码文件(.c 和.a),以生成劢态共享对象 dsofile。如果没有
指定-s 选项,则此输出文件名由 files 中的第一个文件名推测得出,也就是默认 mod_name.so。
-i 此选项表示需要执行安装操作,以安装一个戒多个劢态共享对象到服务器的 modules 目录。
-a 此选项自劢增加一个 LoadModule 行到 httpd.conf 文件中,以激活此模块,或者,如果此行已经
存在,则启用之。

[root@wyq63  filters]#  /usr/local/httpd/bin/apxs  -c  -i  -a /usr/local/src/httpd/modules/filters/mod_deflate.c

/usr/local/src/httpd/modules/filters/mod_deflate.c 为源码包路径

安装完后查看:

[root@wyq63 ~]# ll /usr/local/httpd/modules/mod_deflate.so 
-rwxr-xr-x. 1 root root 53072 Jan 26 18:36 /usr/local/httpd/modules/mod_deflate.so

注意,此时检测配置文件,会报错:[root@wyq63 ~]# httpd -t
httpd: Syntax error on line 106 of /usr/local/httpd/conf/httpd.conf: Cannot load modules/mod_deflate.so into server: /usr/local/httpd/modules/mod_deflate.so: undefined symbol: inflate

解决方法:vim /usr/local/httpd/conf/httpd.conf

 在LoadModule deflate_module    modules/mod_deflate.so这一行上面添加 LoadFile /usr/lib64/libz.so即可


3、配置deflate模块

[root@wyq63 ~]# vim /usr/local/httpd/conf/httpd.conf #配置文件最下面添加如下内容

<IfModule mod_deflate.c>
DeflateCompressionLevel 9 #压缩等级,越大效率越高,消耗 CPU 也越高。一般压缩等级使用 6 或 8
SetOutputFilter DEFLATE #启用压缩
DeflateFilterNote Input instream #声明输入流的 byte 数量
DeflateFilterNote Output outstream #声明输出流的 byte 数量
DeflateFilterNote Ratio ratio #声明压缩的百分比
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript #仅压缩,限制特定的 MIME 类型文件
</IfModule>

总结:我们在生产环境中,在使用 mod_deflate 时,一定要注意,对亍太小的文件和某些栺式的图片不要对它们进行压缩,有可能越压越大。
扩展:AddOutputFilterByTypeDEFLATE 后跟的所有的压缩文件类型,后期可以参照选择。
text/plain text/html text/php 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


4、测试使用谷歌的YSLOW插件


猜你喜欢

转载自blog.csdn.net/yan7895566/article/details/79169813