Apache网页优化 ----- 网页压缩+网页缓存

恰当的使用Apache网页的压缩和缓存技术,对于Apache的性能提升有非常显著的效果。

fiddler抓包工具分享链接:https://pan.baidu.com/s/14_E8vXznYZ0ky1kBjKoQGg
准备一台linux虚拟机(192.168.220.129),一台win10虚拟机

一、网页压缩:

使用网页压缩可以提升应用程序的速度,同时并不需要任何的成本即可实现。

(1)gzip介绍:

配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器。
作用:

  • 降低了网络传输的字节数,加快网页加载的速度;
  • 节省流量,改善用户的浏览体验;
  • gzip与搜索引擎的抓取工具有着更好的关系

(2)Apache实现网页压缩的功能模块包括:

  • mod_gzip 模块
  • mod_deflate 模块

1、两者均使用gzip压缩算法,运行原理类似;
2、mod_delfate 压缩速度略快,而mod_gzip 的压缩比例高;
3、mod_gzip 对服务器CPU 的占用要高一点;
4、高流量的服务器,使用mod_deflate 可能会比 mod_gzip 加载速度更快

(3)操作示例:

第一步:安装mod_deflate 模块,重新编译安装Apache,在参数中加入mod_deflate模块内容。

./configure \
--prefix=/usr/local/httpd \
--enable-deflate \          //加入此行代码
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

第二步:make && make install 安装

注意:如果安装过程中出现 apr-util致命错误:expat.h:没有那个文件或目录 的报错,说明缺少 expat库,安装一下即可,命令:yum install -y expat-devel

第三步:手工编译安装结束之后,配置 mod_deflate 模块启用

vim /usr/local/httpd/conf/httpd.conf

开启   LoadModule deflate_module modules/mod_deflate.so

在文件末尾添加如下代码:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
  // 表示对什么样的内容启用gzip压缩
  DeflateCompressionLevel 9   //表示压缩级别
  SetOutputFilter DEFLATE     //代表启用deflate模块对本站点的输出进行gzip压缩
</IfModule>

第四步:检测 httpd.conf 语法

1、命令:apachectl -t
在这里插入图片描述2、开启:/usr/local/httpd/bin/apachectl start
在这里插入图片描述
3、在 /bin 目录下,执行deflate

./apachectl -t -D DUMP_MODULES | grep “deflate”
在这里插入图片描述
第五步:客户机安装fiddler,访问192.168.220.129,进行抓包测试
在这里插入图片描述
第六步:为了更加直观的展示压缩效果,我们在首页中加入一张图片
在这里插入图片描述
在这里插入图片描述
此时,客户机win10上刷新一下,图片就加载出来了。
在这里插入图片描述
同时观察,图片大小是否进行压缩了
在这里插入图片描述

二、网页缓存

Apache 的mod_expries 模块会自动生成页面头部信息中的 Express标签和 Cache-Control 标签,客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要再次向服务器发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的。

在 httpd-2.4.29目录下
第一步:安装mod_expires 模块

./configure \
--prefix=/usr/local/httpd \
--enable-deflate \         //加入 mod_deflate 模块
--enable-expires \         //加入 mod_expires 模块 
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

第二步:make&&make install

第三步:在 /usr/local/httpd/conf/httpd.conf下

修改监听地址:192.168.220.129:80
修改域名:www.kgc.com

LoadModule expires_module modules/mod_expires.so    //开启 expires_module 模块

在末行加入以下代码:

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 50 seconds"
</IfModule>

第四步:检测 httpd.conf 语法

1、命令:apachectl -t
在这里插入图片描述
2、开启服务:./apachectl start

检测模块是否安装:./apachectl -t -D DUMP_MODULES | grep “expires”
在这里插入图片描述
第五步:客户机验证
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值