在企业中,部署apache后只采用默认的配置参数,会有很多问题,因为那些配置都是针对以前服务器配置的。

一、网页压缩

  1、介绍

    配置apache的网页压缩功能,是使用Gzip压缩算法来对apache服务器发布的网页内容进行压缩后再传输到客户端浏览器,这样做,降低了网络传输的字节数,加快网页的加载速度,节省流量,改善用户体验,并且使用gzip与搜索引擎的抓取工具有着更好的关系。

    能实现压缩功能的模块有mod_gzip模块和mod_deflate模块。 

    Apache1.x系列没有内建网页压缩技术,但是可以用额外的第三方mod_gzip模块来执行压缩

    Apache2.x官方开发的时候,就把网页压缩考虑进去,内建了mod_deflate这个模块,可以取代mod_gzip

    两者的区别:

    mod_gzip 对服务器的cpu的占用要高一些,高压缩比

    mod_deflate 压缩速度略快

    高流量的服务器,使用mod_deflate 可能会比mod_gzip加载速度更快

  2、操作方法

    apachectl -t -D DUMP_MODULES | grep "mod_deflate"(没有过滤出来这个模块的话,则需要安装)

    cd /usr/src/httpd-2.2.17

    service httpd stop

    ./configue --enable-deflate

    make && make install

    vim   /usr/local/httpd/conf/httpd.conf

     添加行

    AddOutputFilterByType DEFLATE  text/html text/plain text/css text/xml text/javascript(代表对什么样的内容启用压缩)

    DeflateCompressionLevel 9(压缩级别)

    SetOutputFilter DEFLATE(代表启用deflate模块对本站点的输出进行gzip压缩)

    service httpd start

    为了方便对比,在启用mod_deflate模块前可使用抓包工具分析,如windows下的fiddler工具。

    压缩前的抓包工具显示:

    

    压缩后:

    

二、网页缓存

    在通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求。

    1、操作步骤(和网页压缩步骤一样):

    查看是否安装了mod_expire模块

    apachectl -t -D DUMP_MODULES | grep "expires"(如果没有expires_modules(static),则说明编译时没有安装mod_expires)

    service httpd stop

    ./configure --enable-expires……

    make && make install

    vim   /usr/local/httpd/conf/httpd.conf

    添加

    <IfModule mod_expires.c>

      ExpiresActive ON  (开启expires模块)

      ExpiresDefault"access plus 60 seconds"   (对于http协议下任意格式的文档(html,css,js,图片等都是60秒之后过期))

    </IfModule>

    apachectl -t

    service httpd start

    2、使用抓包工具测试

    设置缓存前

    

    设置缓存后

    

The server of Apache (三)——网页优化的更多相关文章

  1. Apache网页优化与安全

    目录 一.Apache网页优化 1.1.概述 1.2.gzip介绍 1.3.Apache的压缩模块 二.网页压缩实验 2.1.检查是否安装mod_deflate模块 2.2.重新编译安装Apache添 ...

  2. Apache网页优化

    目录: 一.Apache网页优化概述 二.网页压缩 三.网页缓存 四.隐藏版本信息 五.Apache防盗链 一.Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很 ...

  3. Apache——网页优化与安全

    Apache--网页优化与安全 1.Apache 网页优化概述 2.网页压缩 3.网页缓存 4.隐藏版本信息 5.Apache 防盗链 1.Apache 网页优化概述: 企业中,部署Apache后只采 ...

  4. apache配置文件参数优化

    1.CentOS5.8 x86_64位 采用最小化安装,系统经过了基本优化篇2.apache版本:httpd-2.2.293.源码包存放位置:/home/oldboy/tools4.源码包编译安装位置 ...

  5. SQL Server中的SQL语句优化与效率问题

    很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhan ...

  6. svn_linux + apache 实现网页访问svn

    CentOS7:搭建SVN + Apache 服务器实现网页访问 1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ htt ...

  7. SQL Server中的SQL语句优化与效率

    很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhan ...

  8. The server of Apache (四)——配置防盗链和隐藏版本信息

    一.防盗链 防盗链就是防止别人的网站代码里面盗用我们服务器的图片.文件.视频等相关资源,比如我们的网页的图片有链接,别人把链接复制粘贴到他们的服务器页面里,图片不在他们自己的网站里,每次打开他们的网站 ...

  9. SQL Server中的三种Join方式

      1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备.这两篇博客使用了相同的实验数据. 2.SQ ...

随机推荐

  1. java的IO流初探

    DEMO代码: /* * 文件IO流的简单演示 */ package com.IO; import java.io.*; public class Demo_IO_1 { /** * @param a ...

  2. jquery嵌套后会触发2次点击事件, jquery的unbind就是卸载这个点击事件的.

    $("#diva").click(function(){ $("#divb").unbind("click").click(function ...

  3. leetcode454

    public class Solution { public int FourSumCount(int[] A, int[] B, int[] C, int[] D) { var dic = new ...

  4. leetcode452

    public class Solution { public int FindMinArrowShots(int[,] points) { // multidimensional array cann ...

  5. Java多线程-新特征-原子量

    所谓的原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的. 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题.在Java5之前,可以通过volatile.synch ...

  6. 设置html页面不被浏览器缓存

    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" ...

  7. python子进程模块subprocess详解与应用实例 之二

    1.2. Popen 对象 Popen类的实例有下列方法: 1. Popen.poll() 检查子进程是否已经结束,设置并返回返回码值. 2. Popen.wait() 等待子进程结束,设置并返回返回 ...

  8. php中不借助IDE快速定位行数或者方法定义的文件和位置

    借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档的程序来说很有帮助! ---------------- function fun ...

  9. Entity Framework 6.0 Tutorials(4):Database Command Logging

    Database Command Logging: In this section, you will learn how to log commands & queries sent to ...

  10. ByteUnit

    JDK里面有TimeUnit,看spark源码有个ByteUnit.这个类还是挺不错的. public enum ByteUnit { BYTE (1), KiB (1024L), MiB ((lon ...