Apache网页优化
一、Apache网页优化概述
1.1 Apache网页优化概述
■在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
■为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
1.2优化内容
- 配置网页压缩功能
- 配置网页缓存
- 工作模式的选择与参数优化
- 配置隐藏版本号配置防盗链
1.3 gzip介绍
■配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
■作用
●降低了网络传输的字节数,加快网页加载的速度节省流量,改善用户的浏览体验
● gzip与搜索引擎的抓取工具有着更好的关系
1.4Apache的压缩模块
■Apache实现网页压缩的功能模块包括
● mod_gzip模块● mod_deflate模块■Apache 1.X
●没有内建网页压缩技术,但可使用第三方mod_gzip模块执行压缩
■Apache 2.x
●在开发的时候,内建了mod_deflate 这个模块,取代
mod_gzip 6/28.
1.5mod_gzip模块与mod_deflate模块
● 两者均使用gzip压缩算法,运作原理类似
●mod_deflate压缩速度略快,而mod gzip的压缩比略高
●mod_gzip对服务器CPU的占用要高一些
●高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快
二、缓存与压缩试验
2.1 关闭防火墙
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
2.2 将apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz和httpd-2.4.29.tar.bz2放在/opt下
[root@localhost ~]# cd /opt
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# rz -E
rz waiting to receive.
2.3 将apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz和httpd-2.4.29.tar.bz2解压
[root@localhost opt]# mkdir apache mysql php 创建apache mysql php目录
[root@localhost opt]# ls
apache apr-util-1.6.0.tar.gz mysql rh
apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 php wangwu
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz -C apache/
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz -C apache/
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2 -C apache/
[root@localhost apache]# ls 查看
apr-1.6.2 apr-util-1.6.0 httpd-2.4.29
2.4将apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz移到httpd-2.4.29并重命名
[root@localhost apache]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost apache]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost srclib]# ls
apr apr-util Makefile.in
2.5安装编译器和其他工具
安装环境包
[root@localhost apache]# yum -y install\
gcc
gcc-c++
make\ls
pcre-devel
expat-devel
perl
expat-devel gcc gcc-c++ httpd-2.4.29 make pcre-devel perl
安装工具包
[root@localhost httpd-2.4.29]# yum -y install zlib-devel
2.6配置
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
2.7 编译安装
[root@localhost httpd-2.4.29]#make && make install
2.8 编辑Apache主配置文件
vim /usr/local/httpd/conf/httpd.conf
查考如下功能十分开启
2.8开启deflate功能
开启压缩模块
2)在文末插入
<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>
验证格式
[root@localhost conf]# /usr/local/httpd/bin/httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK
2.9更改域名和监听地址
更改后验证
[root@localhost httpd]# /usr/local/httpd/bin/httpd -t
Syntax OK
2.10启动httpd并查看运行状况
[root@localhost httpd]# /usr/local/httpd/bin/httpd
httpd (pid 59771) already running
[root@localhost httpd]# netstat -ntap|grep http
tcp6 0 0 :::80 :::* LISTEN 59771/httpd
2.11传入一张图片
[root@localhost htdocs]# rz -E
rz waiting to receive.
[root@localhost htdocs]# ls
index.html timg.jpg
将图片插入到index.html文件
[root@localhost htdocs]# vim index.html
2.12查看网页
2.2在客户机安装抓包工具
查看
Apache支持压缩功能
2.3网页缓存
查看是否安装了mod_expies模块
在/usr.local/apache/bin/目录下查看
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES|grep expires
配置
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-expire
编译安装
[root@localhost httpd-2.4.29]# make && make install
在文末插入
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
</IfModule>
验证格式
[root@localhost bin]# ./apachectl -t
Syntax OK
三、防盗链和隐藏版本信息试验
防盗链
3.1做盗窃链网址
yum -y install httpd
vim /etc/httpd/conf/httpd.conf
1)改监听地址
本地解析被盗域名
[root@client html]# echo “nameserver 14.0.0.8” > /etc/resolv.conf
编辑首页指向盗取图片地址
验证盗链
3.2防盗链
开启重写功能
[root@localhost bin]# vim /usr/local/httpd/conf/httpd.conf
在主配置文件
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://kgc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://kgc.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://wwwkgc.com/$ [NC]
RewriteCond %{HTTP_REFERER} !^http://wwwkgc.com/$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.kgc.com/error.png
在站点目录传入错误图片
/usr/local/httpd/htdocs
验证
先清除缓存
防盗链成功
3.3版本隐藏
将主配置文件/usr/local/httpd/conf/httpd.conf以下注释去掉
修改/usr/local/httpd/conf/extra/httpd-default.conf文件
ServerTokens Full 修改为ServerTokens Prod
重启
验证
验证
先清除缓存
[外链图片转存中…(img-ouAERSRs-1596772575183)]
防盗链成功
3.3版本隐藏
将主配置文件/usr/local/httpd/conf/httpd.conf以下注释去掉
[外链图片转存中…(img-qpZDyzmI-1596772575185)]
修改/usr/local/httpd/conf/extra/httpd-default.conf文件
ServerTokens Full 修改为ServerTokens Prod
[外链图片转存中…(img-eXfKGuvo-1596772575186)]
重启
验证
[外链图片转存中…(img-Zn8UgUiK-1596772575187)]
版本信息被隐藏