在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
优化内容
配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
作用
Apache实现网页压缩的功能模块包括
Apache 1.x
Apache 2.x
mod_gzip模块与mod_deflate模块
1、准备Apache安装包及安装环境包
[root@localhost ~]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel -y
2、将Apache安装包解压到/opt目录下,将apr-1.4.6、apr-util-1.4.1移动到/opt/httpd-2.4.2/srclib/下,命名为apr、apr-until
[root@localhost Apache]# tar zxvf apr-1.4.6.tar.gz -C /opt
[root@localhost Apache]# tar zxvf apr-util-1.4.1.tar.gz -C /opt
[root@localhost Apache]# tar zxvf httpd-2.4.2.tar.gz -C /opt
[root@localhost httpd-2.4.2]# ./configure \
> --prefix=/usr/local/httpd \ //指定安装目录
> --enable-deflate \ //安装压缩功能模块
> --enable-so \ //安装核心功能模块
> --enable-rewrite \ //重写功能
> --enable-charset-lite \ //安装字符集
> --enable-cgi //默认网关接口
4、使用make&make install开始编译安装
[root@localhost httpd-2.4.2]# make
…
[root@localhost httpd-2.4.2]# make install
…
5、将Apache服务添加到系统
[root@localhost ~]# grep -v "#" /usr/local/httpd/bin/apachectl > /etc/init.d/httpd
[root@localhost ~]# vim /etc/init.d/httpd
//首行添加
#!/bin/bash
# chkconfig:2345 85 15
# description:Apache is a World Wide Web server
……
[root@localhost ~]# chmod +x /etc/init.d/httpd
[root@localhost ~]# chkconfig --add httpd
[root@localhost ~]# chkconfig --list httpd
[root@localhost ~]# chkconfig --level 35 httpd on
[root@localhost ~]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
6、修改Apache主配置文件
[root@localhost ~]# vim /etc/httpd.conf
51 Listen 192.168.150.200:80
52 #Listen 80
188 ServerName www.aaa.com:80
102 LoadModule deflate_module modules/mod_deflate.so
109 LoadModule headers_module modules/mod_headers.so
98 LoadModule filter_module modules/mod_filter.so
//在末行添加
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# service httpd start
8、使用客户端打开网页查看,使用抓包工具可查看图片的传送格式为gzip压缩
** 1、Apache手工编译安装同上,在执行配置脚本时加上--enable-expires
**
[root@localhost httpd-2.4.2]# ./configure \
> --prefix=/usr/local/httpd \ //指定安装目录
> --enable-deflate \ //安装压缩功能模块
> --enable-expires \ //安装缓存功能模块
> --enable-so \ //安装核心功能模块
> --enable-rewrite \ //重写功能
> --enable-charset-lite \ //安装字符集
> --enable-cgi //默认网关接口
2、修改Apache主配置文件
[root@localhost ~]# vim /etc/httpd.conf
51 Listen 192.168.150.183:80
52 #Listen 80
188 ServerName www.aaa.com:80
108 LoadModule expires_module modules/mod_expires.so
//在末行添加
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# service httpd start
Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
生产环境中要配置Apache隐藏版本信息
可使用Fiddler抓包工具分析
在没有隐藏版本信息时,使用抓包工具可以查看到Apache的版本信息
隐藏版本信息
[root@localhost ~]# vim index.html
471 Include conf/extra/httpd-default.conf
[root@localhost ~]# vim /usr/local/httpd/conf/extra/httpd-default.conf
ServerTokens Prod //只显示名称,没有版本信息
ServerSignature Off