Apache服务--网页优化中的页面压缩与页面缓存

一.网页压缩的概述

网站的访问速度是由个多个因素所共同决定的,这些因素包括应用程序的响应速度,网络带宽、服务器性能、与客户端之间的网络传输速度等。
    使用网页压缩可以提升应用程序的速度,提升Apache的执行速度,但是网页压缩会使服务器cpu占用率提高一两个百分点
    开启Apache的gzip模块,可以使用gzip压缩算法来对Apache服务器发布的网页内容进行压缩之后在传输到客户端浏览器,降低了网络传输的字节数,加快了网页加载的速度

Apache的压缩模块

在Apache 1.x的系列没有内建的网页压缩技术,使用的是额外的第三方mod_gzip模块来执行压缩
    在Apache 2.x的系列内建了mod_deflate这个模块,用以取代mod_gzip
    以上两者都是使用gzip原理
    mod_deflate压缩速度略快,而mod_gzip的压缩比略高,默认情况之下,mod_gzip比mod_deflate多出4%~6%的压缩量,此外mod_deflate只需要较少的资源来压缩文件
    在高流量的服务器中mod_deflate会比mod_gzip的加载速度更快
    总结以上:如果网站访问量较小,想要加快网页的加载速度,使用mod_gzip较好;如果网站的访问量较大,而且使用的是共享的虚拟主机,所分分配的系统资源有限,建议使用mod_deflate
    此外,从Apache 2.0.45 开始,mod_defalte可以使用DeflateCompressionLevel指令来设置压缩级别,该指令的值为1(压缩速度快,压缩质量低)到9(压缩速度慢。压缩质量高),默认是级别6

二.网页压缩实验

  • 手工编译安装apache服务
  • 1.解压缩包
[root@bogon mnt]# ls
apr-1.6.2.tar.gz       awstats-7.6.tar.gz       john-1.8.0.tar.gz
apr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26.tar.gz
awstats-7.6.rar        httpd-2.4.29.tar.bz2     php-5.6.11.tar.bz2
[root@bogon mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt/
[root@bogon mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
[root@bogon mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/
  • 2.将apr和apr-util组件放到httpd/srclib目录中
[root@bogon mnt]# cd /opt/
[root@bogon opt]# ls
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
[root@bogon opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@bogon opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[root@bogon opt]#
  • 3.安装环境包
[root@bogon opt]# yum install pcre pcre-devel expat-devel gcc gcc-c++ zlib-devel -y
  • 4.配置Apache服务
[root@bogon httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \            //指定安装目录
> --enable-deflate \                     //安装压缩功能模块
> --enable-expires \                     //安装缓存功能模块
> --enable-so \                          //安装核心功能模块
> --enable-rewrite \                     //重写功能,可以防盗链
> --enable-charset-lite \                //安装字符集
> --enable-cgi                           //默认网关接口
  • 5.make && make install
[root@bogon httpd-2.4.29]# make && make install
  • 6.添加apache服务到系统
grep -v "#" /usr/local/httpd/bin/apachectl > /etc/init.d/httpd
vim /etc/init.d/httpd
#!/bin/bash	
# chkconfig:2345 85 15	
# description:Apache is a World Wide Web server.
chmod +x /etc/init.d/httpd
chkconfig --add httpd
chkconfig --list httpd
chkconfig --level 35 httpd on

  • 7.修改主配置文件的功能模块
[root@bogon httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf

105 LoadModule deflate_module modules/mod_deflate.so   开启压缩功能模块

112 LoadModule headers_module modules/mod_headers.so   默认开启

111 LoadModule expires_module modules/mod_expires.so   开启压缩功能模块


//行尾添加
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javasrcipt text/j
pg text/png
DeflateCompressionLevel 9
SetOutPutFilter DEFLATE
</IfModule>





//支持各种文件或者图片进行高压缩

  • 8.验证脚本,模块
[root@bogon httpd-2.4.29]# cd /usr/local/httpd/bin/
[root@bogon bin]# ls
ab            apu-1-config  dbmmanage    fcgistarter   htdigest  httxt2dbm
apachectl     apxs          envvars      htcacheclean  htpasswd  logresolve
apr-1-config  checkgid      envvars-std  htdbm         httpd     rotatelogs
[root@bogon bin]# ./apachectl -t
Syntax OK
[root@bogon bin]# ./apachectl -t -D DUMP_MODULES | grep deflate
 deflate_module (shared)
  • 9.关闭防火墙,启动服务
[root@bogon bin]# systemctl stop firewalld.service 
[root@bogon bin]# setenforce 0
[root@bogon bin]# 
  • 10.验证压缩模块

三.网页缓存的概述

  • 网页缓存是将一部分经常不会改变或变动很少的页面缓存,而下次浏览器再次访问这些页面时,不需要再去下载这些页面,提高了用户的访问速度
  •  Apache的mod_expires模块会自动生成页面头部的信息中的Express标签和Cache-Control标签,客户端浏览器会根据标签决定下次访问实在本地服务器的缓存中获取页面,不需要再次向服务器发出请求,从而降低了客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
     
  • 1.配置主配置文件参数
vim /usr/local/httpd/conf/httpd.conf

111 LoadModule expires_module modules/mod_expires.so  //开启缓存功能模块

//行尾插入

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



  • 2.验证脚本,查看功能模块是否开启
[root@bogon bin]# ./apachectl -t
Syntax OK
[root@bogon bin]# ./apachectl -t -D DUMP_MODULES | grep expires
 expires_module (shared)
[root@bogon bin]# 
  • 3.开启服务
[root@bogon bin]# ./apachectl start
[root@bogon bin]# netstat -ntap | grep httpd
tcp        0      0 192.168.179.165:80      0.0.0.0:*               LISTEN      70334/httpd         
[root@bogon bin]#
  • 4.验证缓存服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值