一、页面缓存简介
- 通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
- 启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
二、配置页面缓存实验
-
实验环境:VMware Workstation 15.5、Centos7.6、X Shell6、window10专业工作站版
-
实验前准备:新建两台虚拟机,一台为win10并配置IP:192.168.50.140,另一台为Centos7.6系统,IP地址为192.168.50.136
-
实验中所用包与软件下载地址:
httpd-2.4.25:https://wwa.lanzous.com/i0VcXebkl6h
apr-util-1.4.1:https://wwa.lanzous.com/i8Cbjebkl3e
apr-1.4.6:https://wwa.lanzous.com/iR5Orebkl0b
fiddler:https://wwa.lanzous.com/iiI72fcuoqh
- 实验步骤:
1、将http服务三个必要包上传到服务器中,解压缩安装包
[root@localhost ~]# cd /opt ## 进入到opt目录下
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
2、将解压出来的两个apr包移动到httpd目录中
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
3、安装编译所需要的组件
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
PS:各行含义
gcc:编译器
gcc-c++:编译器
make:编译器,从Makefile中读取指令,然后编译
pcre-devel:支持正则表达式
expat-devel:支持解析xml文件
perl:支持perl语言
4、进入http软件目录对安装脚本进行配置
[root@localhost opt]# cd httpd-2.4.29 ## 进入http软件目录
./configure \
--prefix=/usr/local/httpd \
--enable-expires \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
5、进行编译并安装http
[root@localhost httpd-2.4.29]# make && make install
6、编辑修改http服务配置文件
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf ## 编辑配置文件
将111行前面的注释去掉:
111 LoadModule expires_module modules/mod_expires.so
在配置文件末尾插入以下内容:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 50 seconds"
</IfModule>
7、修改完配置文件为了防止出错检查一下语法
[root@localhost ~]# cd /usr/local/httpd/bin/ ## 进入bin目录
[root@localhost bin]# ./apachectl -t ## 使用命令检查语法
返回:Syntax OK 则没有问题
8、查看模块是否开启
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires"
返回:expires_module (shared) 则没有问题
9、为网站创建一个页面
[root@localhost bin]# cd /usr/local/httpd/htdocs ## 进入站点目录
随意找一张图片上传到该目录下
编辑首页:vim index.html
在最下方插入一行内容:
<img src="cat.jpg"/> ## 我使用的图片名为cat.jpg,根据自身实际进行修改
10、开启http服务
[root@localhost bin]# /usr/local/httpd/bin/httpd
11、在客户机上打开抓包软件打开抓包,再打开浏览器访问192.168.50.136,可以看到如下页面
可以看到缓存的时间
三、实验过中注意事项
在开启http服务时候如果提示如下信息说明你再http服务配置文件中设置域名信息,但不配置的话不影响实验的完成
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message