一般默认没有装
Deflate
,最直接的方法就是重装
Apache
,在原来的配置文件后加上
--enable-deflate --enable-headers
。
如果不想重装,就单独编译,
mod_deflate.c
在源文件目录的
modules/filters
下,
mod_hearders.c
则在
modules/metadata
目录下。如果用
apxs -i -a -c
的方法不行,请参考下面的办法,以安装
mod_headers
为例。
cd modules/metadata/
apxs -i -a -c mod_headers.c
Warning! dlname not found in
/usr/local/apache2.2.0/modules/mod_headers.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2.2.0/modules/mod_headers.so
chmod:
无法访问
‘/usr/local/apache2.2.0/modules/mod_headers.so’:
没有那个文件或目录
apxs:Error: Command failed with rc=65536
gcc -shared -o mod_headers.so mod_headers.o
cp mod_headers.so /usr/local/apache2.2.0/modules
/usr/local/apache2.2.0/bin/apxs -i -a -c mod_headers.c
Warning! dlname not found in
/usr/local/apache2.2.0/modules/mod_headers.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2.2.0/modules/mod_headers.so
[activating module `headers' in /usr/local/apache2.2.0/conf/httpd.conf]
如安装mod_deflate.c失败,提示zlib未找到时,可用yum install zlib-devel.i386先安装zlib后再试。
安装成功了。
装完后,其在
conf/httpd.conf
中加了如下两句:
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
其实安装
deflate
时
mod_headers
并不是必须,那为什么要安装呢?主要是其官方配置文件中使用了
header
模块来确保不会发送错误的内容。
<Location />
#
插入过滤器
SetOutputFilter
DEFLATE
# Netscape 4.x
有一些问题
...
BrowserMatch
^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08
有更多的问题
BrowserMatch
^Mozilla/4\.0[678] no-gzip
# MSIE
会伪装成
Netscape
,但是事实上它没有问题
BrowserMatch \bMSIE
!no-gzip !gzip-only-text/html
#
不压缩图片
SetEnvIfNoCase
Request_URI \\.(?:gif|jpe?g|png)$ no-gzip dont-vary
#
确保代理不会发送错误的内容
Header append Vary
User-Agent env=!dont-vary
</Location>
另有一种简单的设置:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
application/x-httpd-php
AddOutputFilter DEFLATE css js
很好理解,可以放在
Directory,Virtualhost,Location
任意地方。
怎么看是否生效了呢?来记录下日志:
#
声明输入流的
byte
数量
DeflateFilterNote Input instream
#
声明输出流的
byte
数量
DeflateFilterNote Output outstream
#
声明压缩的百分比
DeflateFilterNote Ratio ratio
#
声明日志类型
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog logs/deflate_log deflate
大部分
CSS,htm
页面都可以压缩到
30%
,即文章开头我提到的能压缩
70%
。
参考文档:
Apache
模块
mod_deflate
http://www.itlearner.com/code/apache2.2/mod/mod_deflate.html
Apache deflate
模块配置说明
http://www.itlearner.com/article/2007/3819.shtml
如果出现如下错误
Cannot load /usr/local/apache/modules/mod_deflate.so into server:
/usr/local/apache/modules/mod_deflate.so: undefined symbol: inflateEnd
需要在 LoadModule deflate_module
modules/mod_deflate.so
的前面加载zlib.so
如32
操作系统增加以下内容:
LoadFile /usr/lib/libz.so
LoadModule deflate_module modules/mod_deflate.so
如64
操作系统增加以下内容:
LoadFile /usr/lib64/libz.so
LoadModule deflate_module modules/mod_deflate.so
备注:
请以zlib实际文件为准,有时为libz.so.1
分享到:
相关推荐
在 Apache 中,Gzip 压缩的配置主要是通过 deflate_module 模块来实现的。下面是 Gzip 压缩的配置详解: * SetOutputFilter DEFLATE:这是一个开关,告诉 Apache 对传输到浏览器的内容进行压缩。 * SetEnvIfNoCase ...
总的来说,启用 IHS 的 GZip 压缩能够提升网站性能,降低服务器负载,改善用户体验。然而,需要注意的是,过度的压缩可能会增加服务器的 CPU 使用率,因此需要根据实际情况调整压缩级别和选择要压缩的文件类型。同时...
除了在Apache服务器上启用GZip压缩外,有时还需要在命令行下操作GZip文件。这里列出了一些常见的GZip命令供参考: - **压缩文件**:`gzip filename`。 - **解压文件**:`gzip -d filename.gz`。 - **查看压缩文件...
**Apache开启GZIP压缩功能详解** GZIP是一种广泛使用的文件压缩算法,尤其在Linux系统上,它能够有效地减小文件在网络中的传输体积,显著提升网页加载速度。由于现代浏览器普遍支持GZIP,所以开启Apache服务器上的...
标题中的"IIS和Apache开启Gzip的方法"是指在两种主流的Web服务器——Internet Information Services (IIS) 和 Apache HTTP Server 上启用Gzip压缩的技术过程。Gzip是一种广泛使用的数据压缩算法,尤其在网络传输中,...
`.htaccess`文件是Apache web服务器配置的一部分,用于控制目录级别的访问权限和设置各种服务器功能,包括启用gzip压缩。 在`.htaccess`文件中,你可以添加如下代码来启用服务器端的gzip压缩,以优化网站性能: ``...
- **浏览器兼容性**:并非所有浏览器都支持gzip压缩,因此在启用gzip之前,应先检测客户端是否接受gzip编码,可以通过检查`Accept-Encoding`头部来实现。 - **性能影响**:虽然gzip能显著减小传输数据量,但也会...
以下是在Apache和Nginx服务器上启用gzip的简单步骤: 1. **Apache配置**: - 打开`httpd.conf`或`.htaccess`文件。 - 添加或修改以下指令来启用gzip: ``` LoadModule deflate_module modules/mod_deflate.so ...
在Web服务器上启用gzip压缩,可以显著降低页面的加载时间,尤其是在带宽有限的情况下,效果尤为明显。 首先,我们要准备要压缩的js和css文件,并将它们放入一个名为“gzip”的文件夹下。这样做是为了方便管理和操作...
【GZIP配置详解:Tomcat, Apache, IIS】 GZIP是一种广泛使用的数据压缩...总的来说,无论是在Tomcat、Apache还是IIS服务器上,启用GZIP压缩都是提升Web性能的有效手段,只需要根据各自服务器的配置方式进行适当调整。
【Apache启用Gzip压缩的实现方法】 Gzip是一种高效的文件压缩算法,广泛应用于Linux系统,尤其是在Web服务领域。它能够显著减小纯文本文件的大小,通常可将文件压缩70%以上,具体压缩比例取决于文件内容。Apache...
2. **HTTP头部设置**:为了启用GZIP压缩,服务器需要在HTTP响应头中包含`Content-Encoding: gzip`字段,告知浏览器数据是经过GZIP压缩的。同时,浏览器在请求头中可以发送`Accept-Encoding: gzip`,表示支持接收GZIP...
1. **服务器配置**:对于Apache服务器,可以在`.htaccess`文件中添加以下代码来启用Gzip: ``` <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain text/...
在实际部署时,还需要考虑服务器的性能和网络带宽等因素,以确保启用gzip压缩不会对服务器的正常运行产生负面影响。通常情况下,gzip压缩是推荐配置,因为它在压缩效率和资源占用之间的平衡做得很好。对于静态内容...
服务器端可以通过设置如Apache或Nginx的配置来启用gzip压缩,以降低带宽使用。 总的来说,gzip压缩在IT行业中扮演着重要的角色,尤其是在网络传输中,它能够显著减少数据量,提高网络性能。通过理解gzip的工作原理...
Apache服务器通过启用如deflate模块来实现gzip压缩。当服务器返回gzip压缩的数据时,浏览器会自动解压并呈现内容。然而,httpwatch等抓包工具可能无法正确处理这种压缩的数据,因此在stream中看到的响应数据长度为0...
通过正确配置服务器,如Apache和Tomcat,启用GZIP或deflate压缩,可以显著减少页面传输数据量,加快用户体验。值得注意的是,虽然压缩会增加服务器CPU负担,但通常这点开销是可接受的,尤其是在提升整体浏览速度方面...
例如,使用MPM(Multi-Processing Module)如prefork或worker,调整`MaxKeepAliveRequests`和`KeepAliveTimeout`参数,以及启用GZIP压缩等。 九、故障排查 当遇到问题时,Apache2的错误日志是排查故障的重要资源。...