Apache网页优化——网页缓存与网页压缩
程序员文章站
2022-06-25 21:42:44
...
一、网页优化概述
- 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用于当今互联网时代
- 为了适应需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容。
- 优化的内容
配置网页压缩功能
配置网页缓存
工作模式的选择与参数优化
配置隐藏版本号
配置防盗链
1.1Apache的压缩模块
1.1.1 gzip介绍
- 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
- 作用
降低了网络传输的字节数
节省流量,改善用户的浏览体验
gzip与搜索引擎的抓取工具有着更好的关系
1.1.2 Apache压缩模块介绍
- mod_gzip 模块与mod_deflate 模块
两者均使用gzip压缩算法,运作原理类似。、
mod_deflate压缩速度略快,而mod_gzip 的压缩比略高
mod_gzip对服务器CPU的占比要高一些
高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快。
1.2 Apache网页缓存时间
- 通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
- 启用mod_expire 模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量,和增加访问速度的目的。
二 、手动编译安装Apache,并配置服务
2.1准备工作
准备httpd相关的压缩包
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
apr-1.6.2.tar.gz
- 安装环境和工具
yum install zlib-devel -y
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
2.2 编译安装
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
cd httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-deflate \ ## 开启压缩功能
--enable-expires \ ## 开启缓存功能
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
make && make install
2.3 修改配置文件
[aaa@qq.com ~]# vim /usr/local/httpd/conf/httpd.conf
## 这四项去掉#号
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
LoadModule expires_module modules/mod_expires.so
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
</IfModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
</IfModule>
2.4 修改页面
[aaa@qq.com htdocs]# cd /usr/local/httpd/htdocs/
[aaa@qq.com htdocs]# ls
index.html jin.jpg ## 准备一张照片 做测试用
[aaa@qq.com htdocs]# vim index.html
<html><body><h1>It works!</h1></body></html>
<img src="jin.jpg"/>
2.5 启动httpd服务
[aaa@qq.com ~]# iptables -F
[aaa@qq.com ~]# setenforce 0
[aaa@qq.com bin]# cd /usr/local/httpd/bin/
[aaa@qq.com bin]# ./apachectl