Apache网页优化

1. 网页压缩与缓存

1.1 网页压缩

网站的访问速度是由多个因素所共同决定的,这些因素包括应用程序的响应速度、网络带宽、
服务器性能、与客户端之间的网络传输速度等等。其中最重要的一个因素是Apache本身的响应速度,
因此当运维人员为网站性能所苦恼时,第一个需要着手进行处理的便是尽可能的提升Apache的执行速度,
可以使用网页压缩提升应用程序的速度。而且非常重要的是,它完全不需要任何的成本,只不过是会让服务
器CPU占用率稍微提升一两个百分点或者更少。

1.1.1 HTTP压缩的过程

Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding信息) ,如果浏览器支持HTTP压缩, Web服务器检查请求文件的后缀名,如果请求文件是HTML, CsS等静态文件, Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件。如果请求文件的压缩文件不存在, Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件,如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件。如果请求文件是动态文件, Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中

1.1.2 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 gzip对服务器CPU的占用要高一些。mod deflate是专门为确保服务器的性能而使用的一个压缩模块, moddeflate需要较少的资源来压缩文件。这意味着在高流量的服务器,使用mod deflate可能会比mod gzip加载速度更快。
简而言之,如果网站访问量较小,想要加快网页的加载速度,就使用mod gzip.虽然会额外耗费一些服务器资源,但也是值得的。如果网站访问量较大、使用的是共享虚拟主机.且所分配系统资源有限,那么使用mod deflate将会是更好的选择。
另外,从Apache 2.0.45开始, mod deflate模块可使用DeflateCompressionLevel指令来设置压缩级别。该指令的值可为1至(压缩速度最快,最低的压缩质量) 9 (最慢的压缩速度,压缩率最高)之间的整数,其默认值为6 (压缩速度和压缩质量较为平衡的值)这个简单的变化更是使得mod deflate可以轻松媲美mod-gzip的压缩。

1.1.3 mod deflate模块

  1. 检查是否安装了mod deflate模块
[root@localhost ~]# apachectl-D DUMP MODULES | grep "deflate"
  1. 安装mod deflate模块
    如果没有安装mod deflate模块,需要停止Apache服务,重新编译安装Apache,参数中
    加入mod deflate模块内容
[root@localhost ~]# systemctl stop httpd
[root@localhost ~]#yum -y install zlib-devel.x86_64 
[root@localhost ~# cd /opt/httpd-2.4.29/
[root@localhost httpd-2.4.29]#
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate

#####在进行编译安装Apache时,出现如下错误###

checking whether to enable mod deflate... configure: error: mod_deflate has been
requested but can not be built due to prerequisite failurese

解决方案:

yum -y install zlib-devel 
[root@localhost httpd-2.4.29]#make && make install
  1. 配置mod deflate模块启用
    编译安装后, mod deflate模块需要在httpd.conf文件启用才能生效。
[root@localhost httpd-2.4.29]vi /usr/local/httpd/conf/httpd.conf
LoadModule deflate module modules/mod_deflate.so  找到这个模块将前面的#去掉,然后在后面下面这段代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值