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

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、实验步骤
关闭防火墙:
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0   

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

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

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

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


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

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

进入apache的主配置文件:
[root@localhost 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>
[root@localhost httpd-2.4.2]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

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

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

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PlxZBvw0-1576665772697)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1576657192657.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tJAS1Cpu-1576665772698)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1576665330346.png)]
需要注意的是,在确保配置正确的情况下,在win10中访问Apache访问出不来的时候,就有可能是防火墙没有关闭,或者就是浏览器的问题。

发布了62 篇原创文章 · 获赞 11 · 访问量 2367

猜你喜欢

转载自blog.csdn.net/XuMin6/article/details/103602722