[摘要]gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。本文介绍修改Apache配置文件开启gzip压缩传输。
最近无事研究一些Web的优化,用工具page speed检测网站时发现还没有开启gzip压缩,于是上网找来资料实验一下;在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤
第1步
LoadModuledeflate_modulemodules/mod_deflate.so
LoadModuleheaders_modulemodules/mod_headers.so
打开httpd.conf后,先将上面两行配置前面的#号去掉,这样apache就会启用这两个模块,其中mod_deflate是压缩模块,就是对要传输到客户端的代码进行gzip压缩;mod_headers模块的作用是告诉浏览器页面使用了gzip压缩,如果不开启mod_headers那么浏览器就会对gzip压缩过的页面进行下载,而无法正常显示。
第2步
在httpd.conf中加入以下代码,可以加到任何空白地方,不了解apache的朋友,如果担心加错地方,就放到http.conf文件的最后一行,如果是虚拟服务器可以写.htaccess文件里面,然后放在项目下即可。
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/* #设置对文件是文本的内容进行压缩,例如text/html text/css text/plain等
#这段代码你只需要了解application/javascript application/x-javascript这段就可以了,这段的意思是对javascript文件进行压缩
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
#这段是告诉apache对php类型的文件进行压缩Add
OutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些问题,所以只压缩文件类型是text/html的
BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的问题,所以不开启压缩
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE浏览器会伪装成 Netscape ,但是事实上它没有问题
</IfModule>
本配置到这里apache中的gzip压缩就配置完成,重启apache后,新的配置就会生效。最后再用工具检查一下,果然分数提高了很多~呵呵。 不过开启gzip功能需要额外CPU资源开销。
http://down.chinaz.com/server/201202/1645_1.htm
分享到:
相关推荐
通过合理设置这些参数,你可以优化静态资源(如图片、CSS、JavaScript 文件)的缓存策略,从而提高网站性能和减少服务器负载。 安装mod_expires模块的步骤如下: 1. **获取源码**:首先,你需要确保你已经安装了...
3. **静态文件**: 对于静态文件,建议使用Apache的其他模块(如`mod_expires`, `mod_deflate`, `mod_headers`)直接处理,以减轻Django的负担。 4. **缓存策略**: 使用缓存技术,如Django的`cached_page`中间件,或...
`mod_expires`可以设置静态资源的过期时间,利用浏览器缓存提高页面加载速度。还有像`mod_proxy`和`mod_cache`这样的模块,可用于负载均衡和内容缓存,进一步提升服务器性能。 错误日志和访问日志对于调试和监控...
- 性能优化,包括开启HTTP/1.1持久连接(mod_headers),配置合适的KeepAliveTimeout,使用mod_expires缓存静态内容,以及合理分配系统资源。 6. **错误日志和访问日志** - Apache2.2.29会生成错误日志和访问日志...
- 利用`mod_expires`设置合适的过期时间,帮助浏览器更高效地缓存静态资源。 4. **日志管理和监控**: - 安装并配置Cronolog等工具,定期归档日志文件,避免日志文件过大占用过多磁盘空间。 - 实施系统监控,...
此外,通过Apache的模块化结构,可以灵活地添加其他性能优化模块,如mod_expires(缓存过期控制)和mod_deflate(内容压缩)。 总结来说,将Apache与WebLogic集成是一种常见的架构模式,旨在优化企业级Java应用的...
Apache的性能优化还包括启用模块如mod_deflate(压缩输出内容)、mod_expires(设置资源缓存过期时间)和mod_cache(缓存静态内容),以减少服务器负载。此外,考虑使用预编译的配置(如APR-Util的apachectl -t -D ...
Apache的缓存可以通过`mod_expires`和`mod_headers`模块实现。 启用`mod_expires`模块,确保在`/etc/httpd/conf.modules.d/00-base.conf`中`LoadModule expires_module modules/mod_expires.so`未被注释。然后,在`...
为了提升Apache2的性能,可以启用模块如mod_deflate(压缩输出内容)、mod_expires(设置静态资源过期时间)、mod_cache(缓存响应内容)。同时,调整MaxKeepAliveRequests、KeepAliveTimeout等参数可以优化连接管理...
mod_expires设置静态资源的缓存时间,减少服务器负载;还可以通过调整MaxKeepAliveRequests、KeepAliveTimeout等参数优化连接管理。 最后,我们还要关注Apache与其他技术的集成,比如PHP、MySQL,构建LAMP(Linux、...
- 缓存技术:使用mod_expires和mod_deflate提高静态内容的传输效率。 3. **安全与防护**: - SSL/TLS加密:配置SSL证书,确保网站通信安全。 - 安全模块:利用mod_security阻挡恶意请求,防止DDoS攻击。 - 访问...
3. 缓存机制:利用mod_expires和mod_cache模块,Apache可以缓存静态内容,减少服务器负载。 四、日志与监控 1. 日志记录:Apache默认记录访问日志和错误日志,通过日志分析工具(如Logrotate)可以了解服务器状态...
mod_expires设置静态资源过期时间,减少服务器负担。 10. **模块扩展**:开发者可以创建自定义模块,以扩展Apache的功能,满足特定业务需求。 除了基础的HTTP服务,Apache还支持HTTPS(HTTP over SSL/TLS)以提供...
- 使用mod_expires和mod_headers控制缓存策略,减少不必要的服务器负载。 总之,Apache 2.2的安装和配置是一个涉及多个层面的过程,涵盖操作系统兼容性、安全性、性能优化等多个方面。遇到问题时,参考“附加安装...
另外,还可以结合缓存模块(如mod_expires和mod_deflate)来减少服务器负载。 10. **内容分发网络(CDN)集成** Apache可以通过mod_proxy模块与CDN服务集成,加速内容在全球范围内的分发。 11. **与其他技术的集成*...
在Apache中,我们通常通过修改`.htaccess`文件或httpd.conf配置文件来设置这些缓存控制头。以下是一种在`.htaccess`文件中设置`max-age`的例子: ```apache <IfModule mod_headers.c> # 对于特定类型的静态文件...
- Caching:使用缓存模块如mod_expires和mod_cache,提高静态内容的响应速度。 - JNDI资源:在Tomcat中配置JNDI资源,使Apache和Tomcat共享数据库连接等资源。 通过以上步骤,Apache2.2和Tomcat6可以协同工作,...
2. **缓存机制**:利用mod_cache或mod_expires提高静态内容的响应速度。 3. **压缩输出**:通过mod_deflate压缩HTTP响应,减少网络传输的数据量。 4. **KeepAlive优化**:通过调整`KeepAliveTimeout`和`...
为了提高性能,可以配置缓存以减少对后端Tomcat的压力,比如使用mod_expires和mod_deflate。此外,调整Apache和Tomcat的配置参数,如线程池大小、连接超时时间等,也是常见的优化手段。 9. **测试与调试** 在部署...
2. **缓存策略**:调整HTTP响应头中的Cache-Control和Expires字段,可以有效提高图片加载速度,减少服务器压力。 3. **使用HTTPS**:考虑为图片服务器启用HTTPS,以确保数据传输的安全性。 4. **负载均衡**:如果...