zoukankan      html  css  js  c++  java
  • Linux下apache2及模块mod_deflate等安装和配置

    安装apache

    1、wget http://archive.apache.org/dist/httpd/httpd-2.2.13.tar.gz

    2、在安装目录

    先让大家看看实际效果,请看下图10点中的流量,开启deflate压缩后后,今天的10点,带宽是3MB,没有开启deflate压缩的昨天上午10 点,带宽是4.3MB。很明显,节约了30%的流量开支。如果图片,zip等下载文件较少,纯html页面,php页面较多,可以节约50%以上的带宽。

    压缩比率测试结果(某两个页面):

    Original Size: 30 KB

    Gzipped Size: 8 KB

    Data Savings: 73.33% 首页是html页面,节约了73%的带宽,速度提高了3倍多!


    Original Size: 37 KB

    Gzipped Size: 10 KB

    Data Savings: 72.97% 这也是html页面,节约了72%的带宽,速度提高了3倍多!

    开启了实时压缩传输,在服务器负载方面,CPU负载提高了0.3左右,可以接受。


    如何安装apache的deflate压缩?

    下面收集整理的mod_deflate安装和配置经验和过程,适合apache2.x

    Apache2 推荐使用 moddeflate 压缩,modgzip适合apache1.x

    关于moddeflate的详细内容,可以参考http://httpd.apache.org/docs/2.0/mod/moddeflate.html

    1. 查找模块deflate

      find /backup/soft/httpd-2.2.4 -name mod_deflate.c

      cd /backup/soft/httpd-2.2.4/modules/filters

    2. 安装mod_deflate

      /usr/local/apache224/bin/apxs -i -c -a mod_deflate.c

      apxs命令参数说明: -i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。 -a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。 -A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。 -c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。 如果是新安装apache,直接加上 --enable-headers --enable-deflate 即可

    3. 配置mod_deflate

      vi /usr/local/apache224/conf/httpd.conf LoadModule deflatemodule modules/moddeflate.so 此LoadModule需要放在libphp5.so之后 <IfModule mod_deflate.c> DeflateCompressionLevel 7 AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php AddOutputFilter DEFLATE css js

    压缩等级的调整有两种说法,不过懒得研究了,默认等级是6,890k的文件压缩出来的数据和最高的9级只差1k,而且9级需要更多的CPU时间,用默认的6级就可以了。

    另外,有个Real-Time Compression Check工具,可以检测某个URL是否是压缩传输的。好像这家公司做IIS下的zip压缩程序,所以弄了这么个在线工具。只要输入你的地址,回车,就可以看到服务器类型、是否是压缩传输以及压缩前和压缩后的大小比较。大多数情况下html代码都能压缩到1/4~1/3,gzip压缩传输还是很不错的。

  • 相关阅读:
    ORACLE 循环
    C#生成指定数目的互不相同的随机数(转)
    Oracle自治事务的介绍
    螺旋矩阵--我的实现方法
    一个体育生的编程之路(一)
    判断十二星座——我的算法,大家看是不是比较简便
    简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
    使用VC和DirectShow从摄像头中读取图像(一)
    1999那个追着打我的女生
    我自己写的几个C++常用方法
  • 原文地址:https://www.cnblogs.com/kimyeee/p/9707374.html
Copyright © 2011-2022 走看看