`
paulfzm
  • 浏览: 884259 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

apache 开启 gzip

 
阅读更多
我的Wordpress的主机为LAMP架构,即Linux+ Apache+ MySQL + PHP ,突然想到有个gzip压缩可以提高网页访问的速度,所以就想做一下测试,同时了解一下如何开启gzip压缩。通过网上查询得知,在Apache中开启gzip压缩方法为:



1. 在httpd.conf 或者博客根目录的.htaccess文件中加入如下规则(Apache服务器需要支持 mod_deflate)

<ifmodule mod_deflate.c>

AddOutputFilter DEFLATE html xml php js css

</ifmodule>

或者添加

<ifmodule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html text/xml application/x-httpd-php application/x-javascript text/css

</ifmodule>



经过查看,主机的Apache支持mod_deflate(使用httpd -M查看是否有mod_deflate模块,或者查看你的httpd.conf文件中LoadModules有没有这个mod_deflate模块开启),直接复制粘贴以上的代码到httpd.conf文件的结尾,重新启动apache服务就可以实现gzip压缩了。



如果主机的apache不支持mod_deflate,主机的php却支持zlib,也就是说支持gzip压缩,具体方法见下面描述:



对于静态网页(html,js,css),先设置URL Rewrite:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /blog #更改为自己的博客的目录

RewriteCond %{REQUEST_FILENAME} -f

RewriteRule ^(.*)(js|css|html|htm)$ /gzip.php?file=$1$2&type=$2 [L]

</IfModule>

可以通过URL Rewrite的方式请求这个gzip.php文件 (该文件需要放在”/”目录),这样静态文件的gzip压缩就OK了。



还有,对于由php动态输出的网页,常见的就是wp输出的页面,可以通过一个插件(gzippy)实现,直接到wp后台,在插件搜索里面输入“gzippy”然后安装即可。

gzippy只有一句话:

<?php

function gzippy() {

ob_start(‘ob_gzhandler’);

}

if(!stristr($_SERVER['REQUEST_URI'], ‘tinymce’) && !ini_get(‘zlib.output_compression’)) {

add_action(‘init’, ‘gzippy’);

}

?>



同时,对于主机的apache不支持mod_deflate,想让已经安装好的apache支持该模块,那也可以选择只编译 deflate 模块所需的文件 mod_deflate.c 和 mod_headers.c 。



这两个文件位于 {apache-src}/modules/filters/ 目录下(其中 {apache-src} 为 apache 源文件所在的目录)。

使用如下命令来单独编译这两个源文件。



[rootmin@localhost~]# {apache-bin}/apxs -i -a -c {apache-src}/modules/filters/mod_deflate.c

[rootmin@localhost~]# {apache-bin}/apxs –i –a –c {apache-src}/modules/filters/mod_headers.c



When install the header module the src directory is {apache-src}/modules/metadata/mod_headers.c

So we need change the command as follows:{apache-bin}/apxs -i -a -c {apache-src}/modules/metadata/mod_headers.c

其中 {apache-bin} 为 Apache 安装目录下的 bin 目录,接下来在 httpd.conf 直接配置该模块即可。



很多时候你在单独编译 deflate 模块的时候可能会碰到编译错误,提示是:

Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate



解决的方法是:编辑 /usr/local/apache2/bin/apr-config

文件修改其中的 LDFLAGS 值为 “-lz”,然后再重新编译 mod_deflate 模块,apxs -ica mod_deflate.c 即可。



为了省却不必要的麻烦,请尽量在编译安装apache时直接加上 –enable-deflate –enable-headers 参数。

我的网站是完成了,马上来看看效果:





分享到:
评论
1 楼 丶Sk.Mabon 2012-07-14  
请教gzip.php 的写法。万分感谢!

相关推荐

    apache开启gzip压缩网络传输减少带宽

    Apache 开启 Gzip 压缩网络传输减少带宽 Apache 是一个流行的开源 Web 服务器软件,它提供了许多功能来提高 Web 服务器的性能和安全性。本文将介绍如何在 Apache 中开启 Gzip 压缩功能,以减少网络传输的带宽。 ...

    iis和apache开启gzip的方法

    标题中的"IIS和Apache开启Gzip的方法"是指在两种主流的Web服务器——Internet Information Services (IIS) 和 Apache HTTP Server 上启用Gzip压缩的技术过程。Gzip是一种广泛使用的数据压缩算法,尤其在网络传输中,...

    Apache开启GZIP压缩功能方法

    **Apache开启GZIP压缩功能详解** GZIP是一种广泛使用的文件压缩算法,尤其在Linux系统上,它能够有效地减小文件在网络中的传输体积,显著提升网页加载速度。由于现代浏览器普遍支持GZIP,所以开启Apache服务器上的...

    linux下apache的开启gzip的方法

    开启GZIP压缩是优化网站性能的重要步骤,因为GZIP可以显著减少HTTP响应的数据量,从而加快网页加载速度,降低带宽消耗。以下是详细说明如何在Linux上的Apache服务器上启用GZIP压缩的方法: 首先,你需要确保Apache...

    使Apache实现gzip压缩配置

    Apache默认的http.conf配置文件中没有开启gzip压缩,apache1.3.x可以用mod_gzip进行优化网页浏览的...下面说一下怎样在Apache2下开启gzip压缩: 代码如下: # 加载deflate模块 LoadModule deflate_module modules/m

    在Apache服务器上启用GZip压缩静态内容的方法

    ### 在Apache服务器上启用GZip压缩静态内容的方法 #### 一、引言 随着互联网的发展,用户对于网页加载速度的要求越来越高。为了提升用户体验并减轻服务器带宽压力,开发者们经常采用压缩技术来减小文件传输量。...

    tomcat开启gzip

    本文将详细介绍如何在Tomcat服务器中开启GZIP压缩功能。 #### 1. GZIP压缩简介 GZIP是一种广泛使用的数据压缩格式,它使用Lempel-Ziv编码(LZ77)进行压缩。当服务器将数据发送给客户端时,如果浏览器支持GZIP压缩...

    apache启用gzip压缩的实现方法

    综上所述,对于部署在Linux服务器上的PHP程序,开启Gzip压缩不仅可以加速网页加载,节省带宽,还能提高搜索引擎的抓取效率,是提升网站性能的必要措施。正确配置Apache服务器的Gzip模块,有助于实现这一目标。

    apache模块 合并多个js/css 支持gzip

    3. 配置`&lt;IfModule&gt;`块,设置模块的参数,如合并文件的路径、是否开启gzip等。 4. 在需要合并的js或css文件的URL后面添加特定的查询字符串,指示Apache使用mod_concatx进行合并。 5. 重启Apache服务以应用新的配置。...

    启用 IHS GZip 压缩提高网络 IO 性能

    ```apacheconf # 压缩类型 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css ...

    gzip 压缩 三种方法

    在服务器配置文件中(如Apache的`.htaccess`或Nginx的`nginx.conf`),你可以直接设置HTTP响应头来开启gzip压缩。在`.htaccess`中添加以下行: ```apacheconf AddOutputFilterByType DEFLATE text/plain text/...

    Apache配置中文版

    要启用HTTPS,需要配置`mod_ssl`模块,添加`SSLEngine On`开启SSL,`SSLCertificateFile`和`SSLCertificateKeyFile`指定证书和私钥路径。同时,应配置严格的SSL/TLS加密套件和协议,以提升安全性。 8. **性能优化*...

    Tomcat多端口域名访问并配置开启gzip压缩方法

    本文主要讲解了如何在Tomcat中配置多端口域名访问,并且详细介绍了如何开启gzip压缩,以提高Web应用的性能和响应速度。 首先,我们要了解如何在Tomcat中配置不同的端口来访问同一域名。在Web服务器中,端口是用来...

    开启TOMCAT6的GZIP压缩

    ### 开启TOMCAT6的GZIP压缩 #### 背景与意义 随着互联网的发展,用户对于网页加载速度的要求越来越高。为了提升用户体验并减轻网络带宽的压力,TOMCAT服务器可以通过启用GZIP压缩功能来优化数据传输。GZIP是一种...

    Apache配置详解(最好的APACHE配置教程)

    此外,`&lt;IfModule mod_deflate.c&gt;`可以开启GZIP压缩,减少数据传输量。 十、监控与故障排查 使用`Status`模块可以查看服务器的实时状态,而`ExtendedStatus`可以提供更详细的统计信息。遇到问题时,检查错误日志和...

    官网下载Apache-2.4.32

    - Apache 2.4引入了模块加载机制,允许按需加载和卸载模块,如`mod_rewrite`用于URL重写,`mod_deflate`实现GZIP压缩,`mod_security`提供额外的安全防护。 4. **性能优化**: - 调整`MaxKeepAliveRequests`和`...

    安装apache http server详细步骤

    这里指定了安装路径为 `/export/home/apache/apache2412`,并开启了模块支持。 4. **编译**: ```shell make ``` 执行编译操作,这一步可能需要一段时间,请耐心等待。 5. **安装**: ```shell make ...

    Apache官方中文文档教程

    6. **性能优化**:Apache有多种性能优化策略,如使用MPM(多进程模块)如prefork或worker,设置合适的MaxKeepAliveRequests和KeepAliveTimeout,以及开启缓存模块mod_cache等。 7. **HTTPS与SSL/TLS**:在当前网络...

    Apache服务器配置与管理

    配置Webalizer,首先需要确保Apache的日志记录开启,并将日志文件路径配置在Webalizer的配置文件`webalizer.conf`中。然后,定期运行Webalizer生成分析报告。 6. 进阶配置与管理 - SSL/TLS加密:配置SSL证书以启用...

    Apache服务器实用大全

    - Gzip压缩:开启HTTP压缩减少网络传输负载。 - 热部署与版本控制:使用mod_proxy、mod_rewrite等实现平滑升级和负载均衡。 8. **集成其他技术** - 与数据库集成:如MySQL、PostgreSQL,用于动态网站开发。 - ...

Global site tag (gtag.js) - Google Analytics