在企业中,部署Apache后只采用默认的配置参数,会引发网站的很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适合当今互联网时代了
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
优化内容
Apache 1.x
没有内建网页压缩技术,但可使用第三方mod_gzip模块执行压缩
Apache 2.x
在开发的时候,内建了mod_deflate这个模块,取代mod_gzip
mod_gzip 模块与mod_deflate模块
实验环境:VMware Workstation 15.5、Centos 7.6、Xshell 6、windows10专业工作站版
实验准备:准备两台虚拟机,一台作为http服务器,另一台win10作为客户机;将三个压缩包(apr-1.6.2.tar.gz、apr-util-1.6.0.tar.gz、httpd-2.4.29.tar.bz2)上传到服务器opt目录中
实验步骤:
1、解压缩三个包
下载地址:
httpd-2.4.25:https://wwa.lanzous.com/i0VcXebkl6h
apr-util-1.4.1:https://wwa.lanzous.com/i8Cbjebkl3e
apr-1.4.6:https://wwa.lanzous.com/iR5Orebkl0b
fiddler:https://wwa.lanzous.com/iiI72fcuoqh
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
2、将解压出来的两个apr包移动到httpd目录中
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
3、安装编译所需要的组件
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
PS:各行含义
gcc:编译器
gcc-c++:编译器
make:编译器,从Makefile中读取指令,然后编译
pcre-devel:支持正则表达式
expat-devel:支持解析xml文件
perl:支持perl语言
4、安装支持压缩功能依赖包工具
[root@localhost httpd-2.4.29]# yum -y install zlib-devel
5、进入http软件目录对安装脚本进行配置
[root@localhost opt]# cd httpd-2.4.29
执行如下命令配置文件:
./configure \
--prefix=/usr/local/httpd \
--enable-deflate \ (添加压缩功能★)
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
6、进行编译并安装http
[root@localhost httpd-2.4.29]# make && make install
7、编辑配置文件,开启三大核心功能模块
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc
确保112、105、101三个模块必须开启(前面没有注释符号#):
LoadModule headers_module modules/mod_headers.so ## 头部模块
LoadModule deflate_module modules/mod_deflate.so ## 压缩模块
LoadModule filter_module modules/mod_filter.so ## 过滤器模块
8、修改完成,验证一下配置文件语法
[root@localhost htdocs]# /usr/local/httpd/bin/httpd -t
如果提示:Syntax OK 则没问题
9、清空防火墙规则并关闭系统核心防护
[root@localhost httpd-2.4.29]# iptables -F
[root@localhost httpd-2.4.29]# setenforce 0
10、开启http服务
[root@localhost htdocs]# /usr/local/httpd/bin/httpd
11、验证deflate模块是否开启
[root@localhost ~]# cd /usr/local/httpd/bin/
./apachectl -t -D DUMP_MODULES | grep "deflate"
如果返回为: deflate_module (shared) 则表示模块已经开启
12、为网站写一个首页
cd /usr/local/httpd/htdocs ## 进入站点目录
随意找一张图片上传到该目录下
vim index.html ## 编辑index首页文件
在最下方插入一行内容:
## 我使用的图片名为cat.jpg,根据自身实际进行修改
13、在客户机上安装并运行Fiddler软件,打开软件就会自动进入抓包模式
打开浏览器,输入IP地址192.168.50.136进行访问,这时候抓包软件上就会显示抓到的数据包
14、点击抓到的图片数据包,依次点击“Inspectors”、"Headers"查看“Transport”项,可以看到gzip格式,说明图片已经进行过了压缩