热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Apache服务器如何安装mod_gzip模块

说明Apache的mod_gzip号称互连网内容加速模块,可以将网络传输速度压缩到未压缩时的1/4。在mod_gzip出现之前,是怎麽状况?我们知道,HTTP1.1已经支持contentencoding,就是可以将html的内容压缩传输。而在服务器端有两种方式对应,一种是pre-com
说明
Apache 的 mod_gzip 号称互连网内容加速模块,可以将网络传输速度压缩到未压缩时的 1/4。

在mod_gzip出现之前,是怎麽状况?

我们知道,HTTP 1.1 已经支持 content encoding,就是可以将 html 的内容压缩传输。而在服务器端有两种方式对应,一种是pre-compressing,先压缩好,再提供传输,静态网页多的话可以这麽做,但是现在站点都是动态内容,用户浏览器没有请求时,那个网页甚至是不存在的。

因此,当实时调用动态网页时,速度一般是很慢的。为了解决这个问题,一般采取 Cache,但是服务器端给的还是同样大小的文件,除非能够进行一种“实时”的压缩,把压缩过的动态内容传给用户。

可惜,不论是 Apache、Microsoft 的 IIS、IBM''s WebSphere Server 的缺省都不支持这种动态内容的实时压缩。流行的 SQUID Proxy-Caching Server 也没有压缩数据的能力。

mod_gzip 提供的正是这种能力,它可以把无论动态还是静态的内容,无论 HTML、XML,还是 SQL, Java, WML, VRML 等产生的内容在服务器端,进行实时压缩并传输,而不需要在客户端安装任何东西。

它是一个开放源代码的、标准的 Apache 模块,源代码程序只有 300K,安装非常容易,这意味著可以在 5 分钟内,使你的站点提速 75% !

安装

下载最新的mod_gzip

http://www.remotecommunications.com/apache/mod_gzip/

最新版本:
mod_gzip v 1.3.19.1a - 03/08/01

mod_gzip.c
URL: http://www.remotecommunications.com/apache/mod_gzip/src/1.3.19.1a/mod_gzip.c

添加 Apache 模块

apxs -i -a -c mod_gzip.c

(apxs 参考: http://httpd.apache.org/docs/programs/apxs.html ,一般在 apache-devel 包)

配置 httpd.conf (/etc/httpd/conf/httpd.conf)

# Dynamic Shared Object (DSO) Support
LoadModule gzip_module modules/mod_gzip.so
AddModule mod_gzip.c

添加到文件最後: (只是一个参考,你可以按照你的需要修改)

mod_gzip_on yes
mod_gzip_dechunk yes
mod_gzip_keep_workfiles No
mod_gzip_temp_dir /tmp
mod_gzip_minimum_file_size 1002
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 1000000

mod_gzip_item_include file .htm$
mod_gzip_item_include file .jpg$
mod_gzip_item_include file .gif$
mod_gzip_item_include file .html$
mod_gzip_item_include mime text/.*
mod_gzip_item_include file .php$
mod_gzip_item_include mime ""jserv-servlet""
mod_gzip_item_include handler ""jserv-servlet""
mod_gzip_item_include mime ""application/x-httpd-php.*""
mod_gzip_item_include mime httpd/unix-directory

mod_gzip_item_exclude file "".css$""
mod_gzip_item_exclude file "".js$""
mod_gzip_item_exclude file "".wml$""
LogFormat ""%h %l %u %t ""%V %r"" %>s %b mod_gzip: %{mod_gzip_result}n In:%{mod_gzip_input_size}n Out:%{mod_gzip_output_size}n:%{mod_gzip_compression_ratio}npct."" common_with_mod_gzip_info2
CustomLog /var/log/httpd/mod_gzip common_with_mod_gzip_info2

加速显示结果分析
上面的 LogFormat、CustomLog将结果写在了log文件:

...
GET /ubb/Forum3/HTML/000007.html HTTP/1.1"" 200 4338 mod_gzip: OK In:18524 Out:4338:77pct.
GET /ubb/icons/icon7.gif HTTP/1.1"" 304 - mod_gzip: SEND_AS_IS:NO_200 In:0 Out:0:0pct.
GET /news/article.php?id=22 HTTP/1.1"" 200 6414 mod_gzip: DECHUNK:OK In:25372 Out:6414:75pct.
...

可以看出:

.htm In:18524 Out:4338:77pct.
.gif In:0 Out:0:0pct.
.php?id=XXX In:25372 Out:6414:75pct.

压缩後约为压缩前的 1/4, .gif 没有压缩。(因为它本身就是压缩格式)

意义
宽带、IDC、Cache 内容加速等等,都是基于一种“正”的思考,最终用户的最後一公里总是很难受;

然而带宽上传输的是什麽呢?是数据。

用最简单的方式把数据减到最少,这就是 mod_gzip。


推荐阅读
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
author-avatar
看非诚勿扰是修炼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有