Linux-Apache网页优化-压缩与缓存技术(理论加实验)

发布时间:2025-12-10 11:44:21 浏览次数:4

文章目录

  • 前言
  • 一:Apache网页优化
    • 1.1:网页压缩
      • 1.1.1:网页优化概述
      • 1.1.2:网页gzip概述
      • 1.1.3:Apache的压缩模块
      • 1.1.4:配置网页压缩功能
  • 二 :网页缓存
    • 2.1:配置网页的缓存时间概述
    • 2.2:启用网页的缓存功能步骤
    • 2.3:启用功能步骤详解
      • 2.3.1查看是否安装mod_expire模块
      • 2.3.1启用mod_expires模块,并设置http协议下任意格式的文档均50秒后过期
  • 三. 具体实验验证
    • 3.1 gzip压缩技术实验
      • 3.1.1 编译安装httpd
      • 3.1.2 修改HTTP相关配置文件
      • 3.1.3 在配置文件末行,加入此些参数
      • 3.1.4 检查语法
      • 3.1.5 验证功能模块
      • 3.1.6 修改首页配置文件,加入图片
      • 3.1.7 WIN10虚拟机安装 fidder 软件
      • 3.1.8使用WIN10虚拟机访问192.168.100.40
      • 3.1.9 使用软件分析页面
    • 3.2 配置缓存时间50秒实验
      • 3.2.1 修改 http 配置文件
      • 3.2.2 测试配置文件是否正确'
      • 3.2.3 查看模块
      • 3.2.4 切到win10 访问查看
      • 3.2.5 使用 fidder 软件分析

前言

Apache是最棒的网站服务器,其在部署之后,针对不同的生产环境,我们需要作出不同的针对优化,使其页面运行的更加稳定,流程,安全,提示客户体验度。

一:Apache网页优化

1.1:网页压缩

1.1.1:网页优化概述

在企业中,部署Apache后会有默认的配置参数,如果不及时进行优化配置,在当今互联网时代,会引发网站很多问题
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache的优化内容
优化内容
配置网页压缩功能
工作模式的选择与参数优化
配置防盗链
配置隐藏版本号

1.1.2:网页gzip概述

配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后在传输到客户端浏览器
作用
降低了网络传输的字节数,加快网页加载的速度
节省流量,改善用户的浏览体验
gzip与搜索引擎的抓取工作有着更好的关系

1.1.3:Apache的压缩模块

Apache实现网页压缩的功能模块包括mod_gzip模块mod_deflate模块Apache 1.x没有内建网页压缩技术,但是可以使用第三方mod_gzip模块执行压缩Apache 2.x在开发的时候,内建了mod_deflate这个模块,取代mod_gzipmod_gzip模块与mod_deflate模块两者均使用gzip压缩算法,运作原理类似mod_deflate压缩速度略快,而mod_gzip的压缩比略高mod_gzip对服务器CPU占用要高一些高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快

1.1.4:配置网页压缩功能

启用网页压缩功能步骤

1,查看是否安装mod_deflate模块
2.修改配置文件,启用压缩功能
3,抓包测试
1,查看是否安装mod_deflate模块

执行apachectl -t -D DUMP_MODULES命令
如果输出中没有deflate_module(static),说明编译时没有安装mod_deflate模块
没有安装则需要从新编译安装
./configure --enable-deflate…
make && make install
2,在配置httpd.conf中配置开启gzip功能

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript'//代表对什么样的内容启用gzip压缩'DeflateCompressionLevel'//代表压缩级别'SetOutputFilter DEFLATE'//代表启用deflate模块对本站点的输出进行gzip压缩'

3.重启Apache服务,再用浏览器访问测试网站,并用Fiddler工具抓包,进行对比分析

二 :网页缓存

2.1:配置网页的缓存时间概述

通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的

2.2:启用网页的缓存功能步骤

1.查看是否安装mod_expire模块
2、修改配置文件启用缓存功能
3.抓包测试

2.3:启用功能步骤详解

2.3.1查看是否安装mod_expire模块

/usr/local/apache/bin/apachectl -t -D DUMP_MODULES如果输出中没有expires_module(static),则说明编译时没有安装mod_expires若没有安装则需要重新编译安装./configure --enable-expires…make && make install修改httpd.conf配置文件

2.3.1启用mod_expires模块,并设置http协议下任意格式的文档均50秒后过期

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

重启httpd服务

再次访问测试网站,使用抓包工具Fiddler进行数据抓取分析

三. 具体实验验证

3.1 gzip压缩技术实验

安装环境软件

[root@shanan ~]# yum install -y gcc gcc-c++ make pcre-devel expat-devel perl bzip2 zlib-devel[root@shanan opt]# tar -jxvf httpd-2.4.29.tar.bz2[root@shanan opt]# tar -zxvf apr-1.6.2.tar.gz[root@shanan opt]# tar -zxvf apr-util-1.6.0.tar.gz[root@shanan opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util[root@shanan opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr

3.1.1 编译安装httpd

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate --enable-expiresmake && make install

3.1.2 修改HTTP相关配置文件

vi /usr/local/httpd/conf/httpd.conf
检查下面3条配置,都需要开启
LoadModule headers_module modules/mod_headers.so /默认开启
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so / 默认开启

3.1.3 在配置文件末行,加入此些参数

<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascrip text/jpg text/pngDeflateCompressionLevel 9SetOutputFilter DEFLATE</IfModule> </IfModule><IfModule mod_expires.c>ExpiresActive OnExpiresDefault "access plus 50 seconds"</IfModule>

3.2.2 测试配置文件是否正确’

[root@shanan htdocs]# cd /usr/local/httpd/bin/[root@shanan bin]# ./apachectl -tAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe63:2b8e. Set the 'ServerName' directive globally to suppress this messageSyntax OK

3.2.3 查看模块

[root@shanan bin]# ./apachectl -t -D DUMP_MODULES | grep "expires" ''AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe63:2b8e. Set the 'ServerName' directive globally to suppress this messageexpires_module (shared)[root@shanan bin]# systemctl restart httpd

3.2.4 切到win10 访问查看

3.2.5 使用 fidder 软件分析

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477