网页压缩
- 使用mod_deflate模块进行对网页内容进行压缩后再传输到客户端的浏览器
- 减低网络传输的字节数,加块网页加载的速度
- 节省流量,改善用户的浏览体验
网页压缩步骤
- 查看是否安装mod_deflate
- 修改配置文件启用压缩功能
- 访问测试
网页缓存
- 通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
- 启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cashe-Control标签,从而减低客户端的访问频率,达到减少不必要的流量和增加访问的目的
网页缓存步骤
- 查看是否安装mod_expire模块
- 修改配置文件启用缓存功能
- 访问测试
Apache优化-压缩与缓存配置
手动编译安装Apache,将开启压缩和缓存模块
将安装包放到/opt目录下,并解压
[root@localhost ~]# cd /opt
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]#tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]#tar jxvf httpd.2.4.29.tar.bz2
[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
环境部署
[root@localhost opt]# yum -y install \
>gcc \
>gcc-c++ \
> make \
> pcre-devel \
> expat-devel \
> perl
编译安装
[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# yum -y install zlib-devel ##如果没安装这个将报错,支持压缩
[root@localhost ]#./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-deflate \ ###压缩模块编译
--enable-expires \ ##缓存模块编译
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
...加载过程
Server Version: 2.4.29
Install prefix: /usr/local/httpd
C compiler: gcc -std=gnu99
CFLAGS: -g -O2 -pthread
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E
[root@localhost apache]#make &&make install
...
检查模块
[root@localhost init.d]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ ##为了方便使用Apache相关命令
[root@localhost init.d]# apachectl -t -D DUMP_MODULES |grep deflate ##检查是否开启模块
deflate_module (shared)
[root@localhost init.d]# apachectl -t -D DUMP_MODULES |grep expire
expires_module (shared)
修改配置文件
[root@localhost init.d]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
[root@localhost init.d]# vim /etc/httpd.conf
....
LoadModule headers_module modules/mod_headers.so ##头部
...
LoadModule deflate_module modules/mod_deflate.so ## 去掉注释
...
LoadModule filter_module modules/mod_filter.so ##过滤
...
LoadModule expires_module modules/mod_expires.so ##缓存
...
<IfModule mod_deflate.c> ##在末尾添加
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
</IfModule>
保存退出
写一个网页内容用来验证压缩和缓存
[root@localhost htdocs]# ls ###放一张名为work.png图片
index.html work.png
[root@localhost bin]# vim /usr/local/httpd/htdocs/index.html
<html><body><h1>20200805</h1></body></html>
<img src="work.png">
启动服务
[root@localhost conf]# cd /usr/local/httpd/bin
[root@localhost bin]# ./apachectl ##开启服务,其实开启服务由很多方法
客户端测试
在客户端安装下fiddler打开,再访问http://20.0.0.103,即可在里面看到数据
底下的其实是一张图片,随便放的一张
看到压缩格式gzip和缓存
相关软件下载
自取
相关软件下载