文章目录
Apache网页优化
在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
gzip介绍
配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器,其作用
- 降低了网络传输的字节数,加快网页加载的速度
- 节省流量,改善用户的浏览体验
Apache的压缩模块
Apache实现网页压缩的功能模块包括
- mod_gzip 模块
- mod_deflate 模块
Apache 1.X没有内建网页压缩技术,但可使用第三方mod_gzip 模块执行压缩
Apache 2.X在开发的时候,内建了mod_deflate这个模块,取代mod_gzip
mod_gzip 模块与mod_deflate 模块,两者均使用gzip压缩算法,运作原理类似
- mod_deflate压缩速度略快,而mod_gzip的压缩比略高
- mod_gzip对服务器CPU的占用要高一些
- 高流量的服务器,使用mod_deflate可能会比mod_gzip 加载速度更快
配置网页压缩功能
-
启动网页压缩功能步骤
查看是否安装mod_deflate模块→修改配置文件启用压缩功能→访问测试
-
检查是否已安装mod_deflate模块
执行apachectl -t -D DUMP_ MODULES命令
如果输出中没有deflate_ module (static), 说明编译时没有安装mod_deflate模块
-
若没有安装,则要重新编译安装
./configure --enable-deflate
make && make install
-
在配置httpd.conf中配置开启gzip功能
-
重启Apache服务,再用浏览器访问测试网站
-
在浏览器中选择“查看元素”可以看到有"Accept-Encoding:gzip"表示压缩已经生效
网页压缩功能实验步骤
相关软件包
手工编译安装Apache服务
[root@localhost httpd]# tar zxvf apr-1.6.2.tar.gz
[root@localhost httpd]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost httpd]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost httpd]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost httpd]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost opt]# yum -y install \
gcc \ #编译器
gcc-c++ \ #编译器
make \ #make工具
pcre-devel \ #支持正则表达式的工具
expat-devel \ #使网站能解析标签语言的工具
perl #Perl语言工具
zlib-devel
[root@localhost opt]# cd 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-deflate #开启deflate压缩模块
[root@localhost httpd-2.4.29]# make && make install
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
#创建软连接方便管理
编辑配置文件
[root@localhost httpd-2.4.29]# vim /etc/httpd.conf
Listen 192.168.110.10:80
#Listen 80
ServerName www.aaa.com:80
...
LoadModule headers_module modules/mod_headers.so #这三条全部开启
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
...
<IfModule mod_deflate.c