欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Apache网页优化----网页压缩

程序员文章站 2022-03-15 23:37:50
...

Apache网页优化 ------ 网页压缩

一:网页压缩

1、gzip介绍
  • 配置Apache的网页压缩功能,是使用 gzip 压缩算法来对网页内容进行压缩后,再传输到客户端浏览器
  • 作用:
    • 降低了网络传输的字节数,加快网页加载的速度
    • 节省流量,改善用户的浏览体验
    • gzip与搜索引擎的抓取工具有着更好的关
2、Apache实现网页压缩的功能模块包括:

​ mod_gzip 模块
​ mod_deflate 模块

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

3、实验步骤
关闭防火墙:
[aaa@qq.com ~]# systemctl stop firewalld.service
[aaa@qq.com ~]# setenforce 0   

[aaa@qq.com ~]# mkdir /abc    ‘新建目录/abc’
[aaa@qq.com ~]# mount.cifs //192.168.10.29/share /abc    ‘挂载共享文件,到/abc 中 ,IP地址是自己宿主机的地址’  

对共享文件中apr包进行解压:
[aaa@qq.com abc]# tar zxvf httpd-2.4.2.tar.gz -C /opt/
[aaa@qq.com abc]# tar zxvf apr-1.6.2.tar.gz -C /opt/    
[aaa@qq.com abc]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/

开始优化,将/opt/下的apr包放入httpd-2.4.2中的指定位置并命名:
[aaa@qq.com opt]# mv apr-1.6.2/ httpd-2.4.2/srclib/apr
[aaa@qq.com opt]# mv apr-util-1.6.0/ httpd-2.4.2/srclib/apr-util     

安装编译工具:
[aaa@qq.com opt]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel make expat-devel perl -y     
[aaa@qq.com opt]# ls
ab.conf  httpd-2.4.2  rh
[aaa@qq.com opt]# cd httpd-2.4.2/
[aaa@qq.com httpd-2.4.2]# ./configure \     ‘开始编译’
--prefix=/usr/local/httpd \
--enable-deflate \       ‘开启压缩模块’
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
[aaa@qq.com httpd-2.4.2]# make && make  install
[aaa@qq.com httpd-2.4.2]# grep -v "#" /usr/local/httpd/bin/apachectl > /etc/init.d/httpd     ‘把apachectl文件中带 #号的过滤掉,并把其余的信息放入到httpd中’
[aaa@qq.com httpd-2.4.2]#vim /etc/init.d/httpd
在文件开头加入:
#!/bin/sh         
#chkconfig:2345 85 15
#description:Apache is a World Wide Web server.


给httpd执行权限:
[aaa@qq.com httpd-2.4.2]# chmod +x /etc/init.d/httpd 
[aaa@qq.com httpd-2.4.2]# chkconfig --add httpd    ’添加httpd‘
[aaa@qq.com httpd-2.4.2]# chkconfig --level 35 httpd on   ’开机自启‘

创建软链接,便于之后的操作和管理:
[aaa@qq.com httpd-2.4.2]# ln  -s  /usr/local/httpd/conf/httpd.conf   /etc/httpd.conf

进入apache的主配置文件:
[aaa@qq.com httpd-2.4.2]# vim  /etc/httpd.conf
(1)修改域名
ServerName www.test.com:80
Listen 192.168.220.137:80
#Listen 80
(2)更改中间一行,去掉前面#号,开启feflate
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        ’对什么样的内容启用gzip压缩‘
DeflateCompressionLevel 9       ’压缩级别‘
SetOutputFilter DEFLATE      ’启用deflate模块对本站点的输出进行gzip压缩‘
</IfModule>
[aaa@qq.com httpd-2.4.2]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

检测httpd.conf语法:
[aaa@qq.com httpd-2.4.2]# apachectl -t 
Syntax OK     ’表示成功‘

在/bin目录下,执行deflate ,验证模块:
[aaa@qq.com httpd-2.4.2]# apachectl -t -D DUMP_MODULES | grep "deflate"
 deflate_module (shared)
[aaa@qq.com httpd-2.4.2]# systemctl start httpd    ’开启服务‘
[aaa@qq.com httpd-2.4.2]# netstat -ntap | grep 80
tcp        0      0 192.168.34.128:80       0.0.0.0:*           LISTEN      6855/httpd    [aaa@qq.com httpd-2.4.2]# cd /usr/local/httpd
[aaa@qq.com httpd]# ls
bin    cgi-bin  error   icons    lib   man     modules   build  conf     htdocs  include  logs  manual
[aaa@qq.com httpd]# cd htdocs/
[aaa@qq.com htdocs]# ls
index.html

在apache服务器的站点添加一个图片名为dog.jpg,为后面更直观的转世压缩效果:
[aaa@qq.com htdocs]# vim index.html
<html><body><h1>It works!</h1>     ’修改并添加‘
<img src="dog.jpg"/
</body></html>

[aaa@qq.com ~]# cd /abc
[aaa@qq.com abc]# ls
[aaa@qq.com abc]# cp dog.jpg /usr/local/httpd/htdocs/    ’复制dog图片到htdocs目录中‘

在win10 中测试,会看到插入的图片

Apache网页优化----网页压缩

客户机安装fiddler (网上自行下载),访问自己的虚拟机 192.168.34.128,进行抓包测试,查看压缩的图片 内容。

Apache网页优化----网页压缩
需要注意的是,在确保配置正确的情况下,在win10中访问Apache访问出不来的时候,就有可能是防火墙没有关闭,或者就是浏览器的问题。

相关标签: Apache