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 中测试,会看到插入的图片
客户机安装fiddler (网上自行下载),访问自己的虚拟机 192.168.34.128,进行抓包测试,查看压缩的图片 内容。
需要注意的是,在确保配置正确的情况下,在win10中访问Apache访问出不来的时候,就有可能是防火墙没有关闭,或者就是浏览器的问题。
上一篇: Awstats日志分析文件