在企业中,部署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. vue简单路由(一)

    在项目中,将vue的单页面应用程序改为了多页面应用程序,因此在某些场景下,需要频繁的切换两个页面,因此考虑使用路由,这样会减少服务器请求. 使用vue-cli(vue脚手架)快速搭建一个项目的模板(w ...

  2. Class.forName和ClassLoader.loadClass区别(转)

    Java中class是如何加载到JVM中的:1.class加载到JVM中有三个步骤    装载:(loading)找到class对应的字节码文件.    连接:(linking)将对应的字节码文件读入 ...

  3. std:: lower_bound std:: upper_bound

    std:: lower_bound 该函数返回范围内第一个不小于(大于或等于)指定val的值.如果序列中的值都小于val,则返回last.序列应该已经有序! eg: #include <iost ...

  4. linux 压力测试工具 webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 1. wget htt ...

  5. SpringCloud03 Ribbon知识点、 Feign知识点、利用RestTemplate+Ribbon调用远程服务提供的资源、利用feign调用远程服务提供的资源、熔断

    1 远程服务资源的调用 1.1 古老的套路 在微服务出现之前,所有的远程服务资源必须通过RestTemplate或者HttpClient进行:但是这两者仅仅实现了远程服务资源的调用,并未提供负载均衡实 ...

  6. NEERC17 J Journey from Petersburg to Moscow

    CF上可以提交.   链接 依然是很妙的解法. 我们可以枚举每一个出现过的边权$L$,然后把所有边的边权减掉这个$L$,如果小于$L$就变为$0$,然后跑一遍最短路然后加上$k * L$更新答案即可. ...

  7. mvc json 日期问题的最简单解决方法

    1.首先编写BaseController这个类,需要引入Newtonsoft.Json.dll程序集 using System;using System.Collections.Generic;usi ...

  8. hdu 2519 新生晚会 (求排列组合时容易溢出)

    #include<stdio.h> #include<algorithm> using namespace std; void cal(int n,int m) { ; m=m ...

  9. javascript中把一个数组的内容全部赋值给另外一个数组

    如:var a = [1,2,3,4];var b= [];b = a;这个不是把值赋值过去而是b作为a的引用,b改变的是a如何b指向的是一个新数组,a把元素值全部赋值过去? 1.普通数组可以使用   ...

  10. [GO]全局变量

    package main import "fmt" func test01() { fmt.Println("test a = ", a) } //a := 1 ...