文章目录
网页优化
在企业中,部署Apache后采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
优化内容:
配置网页压缩功能
配置网页缓存
工作模式的选择与参数优化
配置隐藏版本号
配置防盗链
1.网页压缩功能
1.1gzip
配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
作用:
降低了网络传输的字节数,加快网页加载的速度
节省流量,改善用户的浏览体验
gzip与搜索引擎的抓取工具有着更好的关系
1.2压缩模块
Apache实现网页压缩的功能模块包括:
mod_gzip模块
mod_deflate模块
Apache 1.x
没有内建网页压缩技术,但可使用第三方mod_gzip 模块执行压缩
Apache 2.x
在开发的时候,内建了mod_deflate 这个模块,取代mod_gzip
mod_gzip 模块与mod_deflate 模块区别
1.两者均使用gzip压缩算法,运作原理类似
2.mod_deflate压缩速度略快,而mod_gzip的压缩比略高
3.mod_gzip对服务器CPU的占用要高一些
4.高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快
1.3配置压缩功能
比常规的Apache部署需多增加依赖包及配置功能
安装依赖包
yum -y install \
gcc \
gcc-c++ \
make \
pcre \
pcre-devel \
zlib-devel \
expat-devel \
perl
配置功能模块
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate \ ##增加压缩模块
修改网页压缩mod_deflate配置
vi /usr/local/httpd/conf/httpd.conf
LoadModule deflate_module/mod_deflate.so #启用mod_deflate模块
##新增内容
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9 #压缩比等级为9
SetOutputFilter DEFLATE #压缩模式
1.4网页中文乱码问题解决方法
vi /usr/local/httpd/conf/httpd.conf
AddDefaultCharset utf-8
2.网页缓存功能
通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
2.1配置网页缓存
比常规的Apache部署需多增加配置功能
配置功能模块
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate \
--enable-expires #添加缓存模块
修改网页缓存配置
vi /usr/local/httpd/conf/httpd.conf
LoadModule expires_module modules/mod_expires.so
##启用mod_expires.so模块
<IfModule mod_expires.c>
ExpiresActive On ##开启缓存,关闭为Off
ExpiresDefault "access plus 60 seconds" ##设置http协议下任意格式的文档均60秒后过期
</IfModule>
2.2抓包测试
已成功配置网页缓存
3.隐藏版本信息
开启区域配置功能
vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf
配置隐藏版本信息
vi /usr/local/httpd/conf/extra/httpd-default.conf
ServerTokens prod
Serversignature Off
3.1抓包测试
配置隐藏前
配置隐藏后
4.配置防盗链
防盗链时防止别人的网站代码里盗用我们自己服务器上的图片、文件、视频等相关资源
如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力
作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用
4.1修改配置
确认重定向功能已安装
apachectl -D DUMP_MODULES | grep rewrite
开启重定向功能并针对目录做防盗链处理
LoadModule rewrite_module module/mod_rewrite.so #删除前面的#,开启重写功能
AllowOverride All
RewriteEngine On
RewriteCond %{HTTP_REFERED} !^192.168.20.10/* [NC]
RewriteCond %{HTTP_REFERED} !^192.168.20.10/.*$ [NC]
RewriteCond %{HTTP_REFERED} !^192.168.20.10$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ 192.168.20.10/error.png [R,NC]
主机开启防盗链前,盗图网站盗图成功
主机开启防盗链后,盗图网站图片被重定向