一、gzip介绍
- 配置Apache的网页压缩功能,是使用 gzip 压缩算法来对网页内容进行压缩后,再传输到客户端浏览器
- 作用:
- 降低了网络传输的字节数,加快网页加载的速度
- 节省流量,改善用户的浏览体验
- gzip与搜索引擎的抓取工具有着更好的关系
二、Apache的压缩模块
- Apache实现网页压缩的功能模块包括
- mod_gzip 模块
- mod_deflate 模块
- Apache 1.x
- 没有内建网页压缩技术,但可使用第三方mod_gzip 模块执行压缩
- Apache 2.x
- 在开发的时候,内建了mod_deflate 这个模块,取代mod_gzip
三、mod_gzip 模块与mod_deflate 模块的对比
- 两者均使用gzip压缩算法,运作原理类似
- mod_deflate 压缩速度路快,而mod_gzip 的压缩比略高
- mod_gzip 对服务器CPU的占用要高一些
- 高流量的服务器,使用mod_deflate 可能会比mod_ gzip 加载速度更快
四、网页压缩
1、挂载共享文件,并解压到 /opt/目录下。
mount.cifs //192.168.56.1/share /mnt #192.168.56.1是我的宿主机IP地址
#解压
tar -zxvf apr-1.4.6.tar.gz -C /opt/
tar -zxvf apr-util-1.4.1.tar.gz -C /opt/
tar -zxvf httpd-2.4.2.tar.gz -C /opt/
#安装包优化
cd /opt
mv apr-1.4.6/ httpd-2.4.2/srclib/apr
mv apr-util-1.4.1/ httpd-2.4.2/srclib/apr-util
2、安装编译工具
yum install -y gcc gcc-c++ pcre pcre-devel zlib-devel
3、在 /opt/httpd-2.4.2 配置
cd httpd-2.4.2/
#有configure的文件,执行以下命令
./configure \
--prefix=/usr/local/httpd \
--enable-deflate \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
4、make && make install
5、打开Apache的主配置文件,查看模块
vim /usr/local/httpd/conf/httpd.conf
#1、修改域名
ServerName www.test.com:80
Listen 192.168.220.137:80
#Listen 80
#2、更改一处:
LoadModule headers_ module modules/ mod_ headers. so //默认开启
LoadModule deflate_ module modules/mod_ deflate. so //去掉前面#开启deflate模块
LoadModule filter_ module modules/mod_ filter. so //默认开启
#3、在文件末尾处添加
<IfModule mod_ deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9 #9是高压缩比
SetOutputFilter DEFLATE
</IfModule>
#验证apache是否设置成功
/usr/local/httpd/bin/apachectl -t
Syntax OK //启动成功
6、开启apache服务,关闭防火墙,并验证模块开启
#开启apache服务
/usr/local/httpd/bin/apachectl start
#关闭防火墙
systemctl stop firewalld
setenforce 0
#验证模块
/usr/local/httpd/bin/apachectl -t -D DUMP_MODULES | grep "deflate"
7、在win10系统 安装抓包工具Fiddler,安装包直接在网上找。
打开 Fiddler4,同时用浏览器输入IP地址:192.168.220.137,访问测试网站
8、在抓包工具Fiddler4中,可以看到允许gzip,但是不显示指定的压缩内容。
如果想要显示指定的压缩内容,就在网页里插入一张图片。
#放一张图片到共享文件夹,再把图片复制到网页文件夹中。
cd /mnt/httpd
cp game.jpg /usr/local/httpd/htdocs/
cd /usr/local/httpd/htdocs/
#在index.html中引用图片
vim index.html
<html>
<body>
<h1>It works!</h1>
<img src="game.jpg"/> #增添这一行,把图片加在网页中
</body>
</html>
刷新页面,出现插入的图片
在抓包工具中显示传输过程进行gzip压缩。
五、总结
- 配置Apache的网页压缩功能,传输到客户端浏览器,降低了网络传输的字节数,加快网页加载的速度。
- 注意:apache服务记得开启:
/usr/local/httpd/bin/apachectl start