Apache网页优化(一)-------- 网页压缩与缓存

Apache网页优化概念

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

优化内容:

  • 配置网页压缩功能
  • 配置网页缓存时间
  • 配置防盗链
  • 配置隐藏版本号

gzip介绍

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

作用

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

Apache的压缩模块

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

mod_gzip 模块
mod_deflate 模块

Apache 1.x

没有内建网页压缩技术,但可使用第三E方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 加载速度更快

配置网页压缩功能实验

(1)在宿主机将我们所需的工具包共享出去。

(2)通过Samba服务将工具包挂载到Linux系统。

[[email protected] ~]# smbclient -L //192.168.100.50/   //查看共享
Enter SAMBA\root‘s password:      //匿名共享,没有密码,直接回车
OS=[Windows 10 Enterprise LTSC 2019 17763] Server=[Windows 10 Enterprise LTSC 2019 6.3]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       远程 IPC
    share           Disk
    tools           Disk
    Users           Disk
Connection to 192.168.100.50 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available
[[email protected] ~]# mkdir /mnt/tools    //创建挂载目录
[[email protected] ~]# mount.cifs //192.168.100.50/tools /mnt/tools/     //挂载
Password for [email protected]//192.168.100.50/tools:
[[email protected] ~]# cd /mnt/tools/    //进入挂载目录
[[email protected] tools]# ls     //查看
awstats-7.6.tar.gz                extundelete-0.2.4.tar.bz2  forbid.png                 jdk-8u191-windows-x64.zip  LAMP-C7
cronolog-1.6.2-14.el7.x86_64.rpm  fiddler.exe                intellijideahahau2018.rar  john-1.8.0.tar.gz          picture.jpg
[[email protected] tools]# 

(3)将源码编译安装Apache服务的压缩包解压到“/opt/”目录。

[[email protected] tools]# cd LAMP-C7/       //切换目录
[[email protected] LAMP-C7]# ls
apr-1.6.2.tar.gz       Discuz_X2.5_SC_UTF8.zip  LAMP-php5.6.txt      php-5.6.11.tar.bz2
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
[[email protected] LAMP-C7]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/     //解压
[[email protected] LAMP-C7]# tar zxvf apr-1.6.2.tar.gz -C /opt/           //解压
[[email protected] LAMP-C7]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/     //解压

(4)进入“/opt/”目录,将两个apr包移动到“httpd-2.4.29/srclib/”目录,并重命名。

[[email protected] LAMP-C7]# cd /opt/
[[email protected] opt]# ls
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
[[email protected] opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[[email protected] opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

(5)进入“httpd-2.4.29/”目录,然后安装编译所需环境包。

[[email protected] opt]# ls
httpd-2.4.29  rh
[[email protected] opt]# cd httpd-2.4.29/
[[email protected] httpd-2.4.29]# ls
ABOUT_APACHE     ap.d          CHANGES         docs         httpd.spec      libhttpd.dep  Makefile.win   README            srclib
acinclude.m4     build         CMakeLists.txt  emacs-style  include         libhttpd.dsp  modules        README.cmake      support
Apache-apr2.dsw  BuildAll.dsp  config.layout   httpd.dep    INSTALL         libhttpd.mak  NOTICE         README.platforms  test
Apache.dsw       BuildBin.dsp  configure       httpd.dsp    InstallBin.dsp  LICENSE       NWGNUmakefile  ROADMAP           VERSIONING
apache_probes.d  buildconf     configure.in    httpd.mak    LAYOUT          Makefile.in   os             server
[[email protected] httpd-2.4.29]#
[[email protected] httpd-2.4.29]# yum -y install > gcc > gcc-c++ > make > pcre > pcre-devel > expat-devel > zlib-devel > perl
......//省略安装过程

(6)进行对Apache服务器的配置。

[[email protected] httpd-2.4.29]# ./configure > --prefix=/usr/local/httpd \    //安装路径
> --enable-deflate \     //启用压缩模块支持
> --enable-expires \   //启用缓存模块支持
> --enable-so \     //启用动态加载模块支持
> --enable-rewrite \     //启用网页地址重写功能
> --enable-charset-lite \    //启用字符集支持
> --enable-cgi    //启用CGI脚本程序支持

(7)编译安装Apache服务。

[[email protected] httpd-2.4.29]# make && make install
......//省略编译安装过程
[[email protected] httpd-2.4.29]#

(8)对Apache服务配置文件进行修改。

[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf     //创建软链接,方便使用
[[email protected] httpd-2.4.29]#
[[email protected] httpd-2.4.29]# vim /etc/httpd.conf

Listen 192.168.52.133:80    //开启IPv4监听
#Listen 80     //注释IPv6监听

ServerName www.abc.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>      //尾行添加压缩模块信息
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png   //启用压缩的内容
  DeflateCompressionLevel 9     //压缩级别,9级
  SetOutputFilter DEFLATE      //启用deflate模块对本站点的输出进行gzip压缩
</IfModule>

(9)检查配置文件格式,格式正确。

[[email protected] httpd-2.4.29]# /usr/local/httpd/bin/apachectl -t
Syntax OK
[[email protected] httpd-2.4.29]# 

(10)将“/usr/local/httpd/bin/”目录下的“apachectl”文件移动到“/etc/init.d/”目录下,并在文件开头添加chkconfig识别配置,然后将其添加为标准的Linux系统服务

[[email protected] httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd     //复制
[[email protected] httpd-2.4.29]# vim /etc/init.d/httpd     //在配置文件添加两行声明

# chkconfig: 35 85 21    //服务识别参数,在级别3、5中启动:启动和关闭的顺序分别为85、21
# description: Apache is a World Wide Web server      //服务描述信息

[[email protected] httpd-2.4.29]# chkconfig --add httpd     //将httpd服务添加为系统服务
[[email protected] httpd-2.4.29]#
[[email protected] httpd-2.4.29]# service httpd start     //启动Apache服务
[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/    //将Apache服务的命令文件,建立软链接到易于系统识别的目录
[[email protected] httpd-2.4.29]# 

(11)检查模块是否安装成功。

[[email protected] httpd-2.4.29]# apachectl -t -D DUMP_MODULES | grep "deflate"    //验证模块
deflate_module (shared)
[[email protected] httpd-2.4.29]#
[[email protected] httpd-2.4.29]# systemctl stop firewalld.service     //关闭防火墙
[[email protected] httpd-2.4.29]# setenforce 0    //关闭增强性安全功能
[[email protected] httpd-2.4.29]# 

(12)将挂载目录的“picture.jpg”图片复制到Apache服务站点目录“/usr/local/httpd/htdocs/”下,然后将图片添加到首页文件。

[[email protected] httpd-2.4.29]# cd /mnt/tools/     //切换目录
[[email protected] tools]# ls
awstats-7.6.tar.gz                extundelete-0.2.4.tar.bz2  forbid.png                 jdk-8u191-windows-x64.zip  LAMP-C7
cronolog-1.6.2-14.el7.x86_64.rpm  fiddler.exe                intellijideahahau2018.rar  john-1.8.0.tar.gz          picture.jpg
[[email protected] tools]# cp picture.jpg /usr/local/httpd/htdocs/     //复制图片
[[email protected] tools]# cd /usr/local/httpd/htdocs/    //切换目录
[[email protected] htdocs]# ls     //查看
index.html  picture.jpg
[[email protected] htdocs]# vim index.html    //编辑首页文件

<html>
 <body>
  <h1>It works!</h1>
  <img src="picture.jpg">
 </body>
</html>

(13)在win10主机安装抓包工具fiddler。

(14)在win10主机访问Apache网站。

(15)查看抓包内容,可以看到Headers里,图片已经被gzip压缩。

Apache的缓存模块

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

配置网页缓存时间实验

(1)接着上面的实验,缓存模块在配置Apache服务时一起添加了。所以直接对Apache配置文件进行修改。

[[email protected] htdocs]# vim /etc/httpd.conf

LoadModule expires_module modules/mod_expires.so    //开启缓存模块

<IfModule mod_expires.c>     //尾行添加缓存模块信息
  ExpiresActive On       //缓存开启
  ExpiresDefault "access plus 50 seconds"     //缓存时间50秒
</IfModule>

(2)检查Apache配置文件格式,格式正确。

[[email protected] htdocs]# apachectl -t
Syntax OK
[[email protected] htdocs]# 

(3)重启服务,查看监听端口

[[email protected] htdocs]# service httpd stop    //关闭服务
[[email protected] htdocs]# service httpd start    //开启服务
[[email protected] htdocs]#
[[email protected] htdocs]# netstat -ntap | grep 80     //检查监听端口
tcp        0      0 192.168.52.133:80       0.0.0.0:*               LISTEN      83296/httpd
[[email protected] htdocs]# 

(4)检查缓存模块是否安装成功。

[[email protected] htdocs]# apachectl -t -D DUMP_MODULES | grep "expires"   //验证模块
 expires_module (shared)
[[email protected] htdocs]#

(5)用win10主机再次访问Apache站点。

(6)查看抓包,Headers里可以看到缓存时间为50秒。

(7)我们将Apache服务配置文件里的缓存时间改为30秒,然后重启服务。

[[email protected] htdocs]# vim /etc/httpd.conf

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 30 seconds"     //将50改为30
</IfModule>

[[email protected] htdocs]# service httpd stop     //关闭服务
[[email protected] htdocs]# service httpd start     //启动服务
[[email protected] htdocs]#

(8)再次用win10主机访问Apache服务站点。

(9)查看抓包,Headers里可以看到缓存时间已经从50秒变为30秒了。

原文地址:https://blog.51cto.com/14449541/2446257

时间: 2024-10-01 09:12:00

Apache网页优化(一)-------- 网页压缩与缓存的相关文章

[超详细] Apache网页优化:网页压缩与网页缓存超详细

前言 前两篇文章讲了Aapche的访问控制与日志分析,这篇文章会重点讲Apache的网页优化,比如:网页的压缩.网页的缓存.我们在使用Aapche作为Web服务器的过程中,只有对Aapche服务器进行适当的优化配置,才能让它发挥出更好好的性能,因此,我们需要对Aapche服务器的配置优化! 网页压缩 凡是总会有个为什么,我们为什么要对网页进行压缩,带着这个问题来看接下来的操作.我们也常常上网,会知道网站的访问速度的快慢有很多因素,比如:应用程序的响应速度.网络带宽.服务器性能等!最重要的一个因素

Apache网页优化,网页压缩和网页缓存技术

网页压缩 网站的访问速度是由多个因素共同决定的,这些因素包括应用程序的响应速度.网络带宽.服务器性能.与客户端之间的网络传输速度等.其中一个最重要的因素是Apache本身的响应速度,当网站性能不佳时,第一个需要着手处理的便是尽可能提升Apache的执行速度,使用网页压缩可以提升应用程序的速度.而且最重要的是,完全不需要任何成本,只不过是会让服务器CPU占用率稍微提升. 网页缓存 网页缓存是将一部分经常不会改变或变动很少的页面缓存,下次浏览器再次访问这些页面时,不需要再次去下载这些页面,从而提高用

android内存优化之图片压缩和缓存

由于手机内存的限制和网络流量的费用现在,我们在加载图片的时候,必须要做好图片的压缩和缓存. 图片缓存机制一般有2种,软引用和内存缓存技术. 1.压缩图片:压缩图片要既不能模糊,也不能拉伸图片. 图片操作的时候,最常用的是BitmapFactory,现在看看如何压缩图片. Bitmapfactory.Options options= new BitmapFactory.Options(); options.inJustDecodeBounds = true;// 如果设置这个参数为ture,就不会

Apache网页优化:网页压缩,网页缓存(内含源码包与抓包工具)

网页压缩:在linux系统中利用Apache中的gzip模块.可以使用gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器,经过压缩过后可以加快网页加载的速度 网页缓存:网页缓存是将 一部分经常不会改变或变动很少的页面缓存,下次浏览器再次访问这些页面时,不需要再次下载这些页面,从而提高了用户的访问速度 Apache软件包:https://pan.baidu.com/s/1hxWYjihLKYMRZ_Ev99v4qQ   密码:7hl7 抓包工具与环境包:https:

Apache网页优化之网页压缩

Apache网页压缩技术 实验介绍:本实验在虚拟机的Linux系统上搭建http-2.4.2,并在配置过程中开启mod_deflate模块,实现网页的压缩功能,最终通过fiddler抓包工具,验证mod_deflate压缩是否生效. 1.首先将搭建httpd服务所需要的软件包拷贝到虚拟机Linux系统中. ![] 2.将软件包解压到指定的目录中. 3.将apr-1.4.6和apr-util-1.4.1解压完的文件夹,拷贝到/httpd-2.4.2/srclib并分别重新命名为apr.apr-ut

Apache网页优化—网页压缩

Apache网页与安全优化 Apache网页优化 1.网页压缩2.网页缓存 Apache安全优化 1.配置防盗链2.隐藏版本信息 Apache网页优化概述 1.在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 2.为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容 3.优化内容 配置网页压缩功能工作模式的选择与参数优化配置防盗链配置隐藏版本号 gzip介绍

apache网页优化之压缩功能和缓存时间

Apache网页优化 优化概述 压缩功能优化 配置Apache的网页压缩功能,是使用gzip压缩算法对网页内容进行压缩后再传输到客户端浏览器 先把宿主机的共享目录共享到Linux下 [[email protected] ~]# smbclient -L //192.168.100.23/ #访问宿主机的共享文件 Enter SAMBA\root's password: OS=[Windows 10 Enterprise 17763] Server=[Windows 10 Enterprise 6

Apache网页与安全优化——网页压缩及缓存(理论实践相结合!)

Apache网页优化概述 > 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 > 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化内容 优化内容 配置网页压缩功能 工作模式的选择与参数优化 配置防盗链 配置隐藏版本号 gzip介绍 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页进行压缩后再传输到客户端浏览器 作用 降低了网络传输的字节数,加

Apache网页优化---网页压缩与缓存

Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化内容 优化内容 配置网页压缩功能工作模式的选择与参数优化配置防盗链配置隐藏版本号... Apache的压缩模块 Apache实现网页压缩的功能模块包括mod_gzip模块mod_deflate模块Apache 1.x没有内建网页压缩技术,