服务器群集——Apache网页优化

一、Apache网页优化概述

1、在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
2、为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容

1.1 优化内容

  • 配置网页压缩功能
  • 配置网页缓存
  • 工作模式的选择与参数优化
  • 配置隐藏版本号
  • 配置防盗链

1.2 gzip介绍

1、配置Apache的网页压缩功能,是使用gzip压缩算法来
对网页内容进行压缩后再传输到客户端浏览器
2、作用

  • 降低了网络传输的字节数,加快网页加载的速度
  • 节省流量,改善用户的浏览体验
  • gzip与搜索引擎的抓取工具有着更好的关系

1.3 Apache的压缩模块

1、Apache实现网页压缩的功能模块包括

  • mod_ gzip模块
  • mod_ deflate模块
    2、Apache 1.x
  • 没有内建网页压缩技术,但可使用第三方mod, _gzip 模块执行压缩
    3、Apache 2.x
  • 在开发的时候,内建了mod_ deflate 这个模块,取代mod_ gzip
    Apache的压缩模块2-2
    4、mod_ gzip 模块与mod _deflate 模块
  • 两者均使用gzip压缩算法,运作原理类似
  • mod_ deflate压缩速度略快, 而mod_ gzip的压缩比略高
  • mod_ gzip对服务器CPU的占用要高- -些
  • 高流量的服务器,使用mod_ deflate可能会比mod gzip 加载速度更快

二、网页压缩

配置网页压缩功能

1、启用网页压缩功能步骤模块

  • 查看是否安装mod deflate
  • 修改配置文件启用压缩功能
  • 访问测试
    配置网页压缩功能4-2
    2、检查是否已安装mod_ deflate模块
  • 执行apachectl -t -D DUMP_ MODULES命令
  • 如果输出中没有deflate_ module (static), 说明编译时没有安装mod_ _deflate模块
    3、若没有安装,则要重新编译安装
  • ./configure --enable-deflate…
    make && make install
    4、在配置httpd.conf中配置开启gzip功能
  • AddOutputFilterByType DEFLATE texthtml text/plain text/css textxml textjavascript
    设置对什么样的内容启用gzip压缩
  • DeflateCompressionL evel
    压缩级别
  • SetOutputFilter DEFLATE
    启用deflate模块对本站点的输出进行gzip压缩
    5、重启Apache服务,再用火狐浏览器访问测试网站
    6、在浏览器中选择“查看元素”可以看到有"Accept-Encoding:gzip"表示压缩已经生效

三、网页缓存

配置网页的缓存时间

1、通过mod_ expire模块配置Apache,使网页能在客户端浏览器缓存一-段时间,以避免重复请求
2、启用mod_ expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户
端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
3、启用网页缓存功能步骤

  • 查看是否安装mod_ expire模块
  • 修改配置文件启用缓存功能
  • 访问测试

4、查看是否安装了mod_ expire模块

  • /us/local/apache/bin/apachectl -t -D DUMP_ MODULES
  • 如果输出中没有expires_ module (static),则说明编译时没
    有安装mod
    expires

5、如果没有安装,需要重新编译安装

  • ./configure 一-enable-expires…
  • make && make install

6、修改httpd.conf配置文件

  • 启用mod_ expires模块, 并设置http协议 下任意格式的文档均60秒后过期
<lfModule mod_ expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</lfModule>

7、重启httpd服务

四、实验

4.1 网页压缩

[root@promote ~]# cd /opt/
[root@promote opt]# ls
rh
[root@promote opt]# ls
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.25.tar.gz  rh
[root@promote opt]# tar zxvf apr-1.7.0.tar.gz 
[root@promote opt]# tar zxvf httpd-2.4.25.tar.gz 
[root@promote opt]# ls
apr-1.7.0         apr-util-1.6.1         httpd-2.4.25         rh
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.25.tar.gz
[root@promote opt]# mv apr-1.7.0 httpd-2.4.25/srclib/apr
[root@promote opt]# mv apr-util-1.6.1 httpd-2.4.25/srclib/apr-util
[root@promote opt]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
[root@promote opt]# yum -y install zlib-devel    //支持压缩功能的开发工具
[root@promote opt]# cd httpd-2.4.25/
[root@promote httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
[root@promote httpd-2.4.25]#make
[root@promote httpd-2.4.25]#make install
[root@promote httpd-2.4.25]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@promote httpd-2.4.25]# vim /etc/httpd.conf 
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>
 AddOutputFilterByType DEFLATE text/plain text/css text/xml text/javascript text/jpg text/png
 DeflateCompressionLevel 9
 SetOutputFilter DEFLATE
</IfModule>
[root@promote httpd-2.4.25]# /usr/local/httpd/bin/httpd -t   //验证语法对错
Syntax OK
[root@promote httpd-2.4.25]# /usr/local/httpd/bin/httpd    //开启服务
[root@promote httpd-2.4.25]# cd /usr/local/httpd/bin/        //进入命令目录
[root@promote bin]# ls
ab            apu-1-config  dbmmanage    fcgistarter   htdigest  httxt2dbm
apachectl     apxs          envvars      htcacheclean  htpasswd  logresolve
apr-1-config  checkgid      envvars-std  htdbm         httpd     rotatelogs
[root@promote bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate"  //验证模块
 deflate_module (shared)
[root@promote bin]# cd /usr/local/httpd/
[root@promote httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@promote httpd]# cd htdocs/
[root@promote htdocs]# ls
index.html
用xshell插入一张图片
[root@promote htdocs]# ls
game.jpg  index.html
[root@promote htdocs]# vim index.html
<html><body><h1>It works!</h1></body></html>
<img src="game.jpg"/>
[root@promote htdocs]# iptables -F
[root@promote htdocs]# setenforce 0
打开win10,安装flddler监控软件,在浏览器上输入192.168.200.110,点开后,监控软件显示压缩    

4.2 网页缓存

[root@promote opt]# iptables -F
[root@promote opt]# setenforce 0
[root@promote ~]# cd /opt/
[root@promote opt]# ls
rh
[root@promote opt]# ls
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.25.tar.gz  rh
[root@promote opt]# tar zxvf apr-1.7.0.tar.gz 
[root@promote opt]# tar zxvf httpd-2.4.25.tar.gz 
[root@promote opt]# ls
apr-1.7.0         apr-util-1.6.1         httpd-2.4.25         rh
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.25.tar.gz
[root@promote opt]# mv apr-1.7.0 httpd-2.4.25/srclib/apr
[root@promote opt]# mv apr-util-1.6.1 httpd-2.4.25/srclib/apr-util
[root@promote opt]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
[root@promote opt]# yum -y install zlib-devel
[root@promote opt]# cd httpd-2.4.25/
[root@promote httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-expires --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
[root@promote httpd-2.4.25]# make
[root@promote httpd-2.4.25]# make install
[root@promote httpd-2.4.25]# vim /usr/local/httpd/conf/httpd.conf 
LoadModule expires_module modules/mod_expires.so
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 50 seconds"
</IfModule>
[root@promote httpd-2.4.25]# cd /usr/local/httpd/
[root@promote httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@promote httpd]# cd bin/
[root@promote bin]# ls
ab            apu-1-config  dbmmanage    fcgistarter   htdigest  httxt2dbm
apachectl     apxs          envvars      htcacheclean  htpasswd  logresolve
apr-1-config  checkgid      envvars-std  htdbm         httpd     rotatelogs
[root@promote bin]# ./apachectl -t
Syntax OK
[root@promote bin]# ./apachectl   //开启Apache
[root@promote bin]# netstat -antp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      77404/httpd 
[root@promote bin]# ./apachectl -t -D DUMP_MODULES | grep "expires"
 expires_module (shared)
[root@promote bin]# cd ..
[root@promote httpd]# cd htdocs/
[root@promote htdocs]# ls
index.html
[root@promote htdocs]# ls
game.jpg  index.html
[root@promote htdocs]# vim index.html 
<html><body><h1>It works!</h1></body></html>
<img src="game.jpg"/>
清空浏览器缓存,登录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值