Apache网页优化之压缩

一、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
发布了72 篇原创文章 · 获赞 32 · 访问量 4945
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章