今天继续给大家介绍Linux运维的相关知识,本文主要内容是Apache的资源压缩传输的设置。
一、Apache压缩传输目的
Apache服务自带内容压缩功能,当开启该功能后,如果客户端想要访问Apache中的资源,Apache服务会先对资源进行压缩,压缩后再进行传输,客户端在收到Apache服务压缩后的资源后,会先进行解压缩,解压缩后再进行解析呈现给用户。通过压缩的引入,可以使得传输带宽减小,提升传输速率,增加用户体验,尤其是对于图片等大容量文件有着非常好的效果。但是,压缩的引入同样会引起CPU的额外负担,这也是压缩不可避免的一个问题。
在现有的生产环境中,可以根据自己的业务场景,来配置Apache的压缩功能。
二、Apache压缩传输实战
Apache的压缩,需要使用Apache的mod_deflate模块。如果是在编译时安装该模块,只需要在预编译时添加–enable-deflate即可,如果是采用DSO的方式进行安装,则需要首先找到该模块。一般而言,Apache的模块在源码目录下的modules/filter目录中,该模块名称为mod_deflate.c,如下所示:
找到该模块后,就可以使用apxs命令进行DSO方式的安装了,执行命令:
/usr/local/httpd/bin/apxs -c -i -a /opt/httpd-2.4.16/modules/filters/mod_deflate.c
1
执行结果如下:
执行完毕后,发现安装目录的modules目录下,出现了mod_defalte模块,如下所示:
Apache服务的主配置文件中,也出现了该模块,如下所示:
接下来,在Apache服务的全局模式下,插入如下内容:
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
1
2
3
4
5
上述参数作用如下:
DeflateCompressionLevel指的是压缩等级,该参数取值1-9,1为最低等级,9为最高等级,等级越高,压缩比越高。
SetOutputFilter参数表示开启压缩功能。
AddOutputFilterByType DEFLATE参数指名压缩的类型。之后,重启Apache服务,这样就可以开启LAMP的资源压缩传输功能了。
我们再次访问Apache网站时,发现在响应头部出现了Content-Encoding字段,说明我们配置的资源传输压缩作用生效。如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/122647630