通过apache对页面进行压缩和页面缓存来提升性
网站的访问速度是由多个因素所共同决定的,这些因素例如应用程序的响应速度、网络带宽、服务器性能、与客户端之间的网络传输速度等等。其中最重要的一个因素是应用程序本身的响应速度,因此当你为网站性能所苦恼时,你第一个需要着手进行处理的便是尽可能的提升应用程序的执行速度,你可以使用缓存或者是优化代码的执行效率来提升应用程序的速度。
但是,本文并不是介绍如何来提升应用程序的执行效率,在确保您的应用程序的性能已经达到足够好,同时服务器的性能也完全满足的情况下,不妨来试试网页压缩和页面缓存来进一步提升网页的浏览速度,而且非常重要的是,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少。
网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有 Apache 和 IIS 等。双方的协商过程如下:
首先浏览器请求某个 URL 地址,并在请求的头 (head) 中设置属性 accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和 deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议,下面我们会介绍二者之间的区别);
WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容; 浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。
在实际的应用中我们发现压缩的比率往往在 3 到 10 倍,也就是本来 50k 大小的页面,采用压缩后实际传输的内容大小只有 5 至 15k 大小,这可以大大节省服务器的网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。
页面缓存是将一部分经常不会改变和变动的文件或页面缓存,下次浏览器再次访问这些页面时,而不需要再次去调用这些和下载这次页面的文件或页面,而提高了用户的访问速度。
现在言归正传来谈谈如何使用Apache来对页面进行压缩和页面缓存来提升性能.为了实现这些功能需要三个模块mod_deflate、mod_expires和mod_headers,关于这三个模块的介绍请参考apache文档,这里不再阐述。
要实现这些东西的配置先在httpd.conf文件下找到下面三个地方
- #LoadModule deflate_module modules/mod_deflate.so
- #LoadModule expires_module modules/mod_expires.so
- #LoadModule headers_module modules/mod_headers.so
同时去掉前面的“#”,这些模块功能已经开启了,下面我们在配置GZIP和Expires了。配置GZIP和Expires也很容易,我们只需要在httpd.conf 配置文件中启用并进行相关的配置即可,配置如下:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "now plus 1 day"
ExpiresByType image/x-icon "access plus 10 year"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType text/javascript "now plus 1 month"
ExpiresByType application/x-javascript "now plus 1 month"
ExpiresByType text/html "now plus 5 minutes"
ExpiresByType text/plain "now plus 1 month"
ExpiresByType image/js "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 week"
<FilesMatch "\.(gif|jpe?g|png)$">
Header set Cache-Control "max-age=604800"
Header unset ETag
</FilesMatch>
</IfModule>
FileETag none
<ifmodule mod_deflate.c>
DeflateCompressionLevel 9
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-jsp
AddOutputFilter DEFLATE js css
</ifmodule>
<Location "/">
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
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>
通过上述配置你就成功通过apache对页面进行压缩和页面缓存来提升性能。
其他相关参考页面:
http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/core.html
http://blog.csdn.net/joliny/archive/2008/02/27/2124344.aspx
http://1229363.blog.163.com/blog/static/19743427200772372018878/
分享到:
相关推荐
2. **Tomcat**:Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,支持JSP和Servlet。 3. **JK模块( mod_jk)**:Apache的JK模块是一个负载均衡和反向代理模块,专门设计用来与Tomcat和其他基于...
Apache+JK+Tomcat搭建负载均衡是一种常见的高可用性和性能优化策略,主要目的是分散网络流量,提高服务的稳定性和响应速度。这个方案特别适合大型网站或应用,可以有效防止单点故障,提升用户体验。 首先,负载均衡...
在构建高性能的Web服务环境中,Apache2和Tomcat的整合是一个常见的策略,因为Apache作为静态内容服务器非常高效,而Tomcat则擅长处理Java应用和Servlets。本文将深入探讨如何将Apache2、Tomcat7与mod_jk模块(即mod...
Apache 和 Tomcat 整合是将 Apache 作为前端服务器,负责处理静态内容和反向代理,而 Tomcat 作为后端应用服务器,处理 Java 应用的动态请求。这种架构可以充分利用两者的优点,提高系统性能和可扩展性。下面我们将...
总的来说,Apache2.2与Tomcat5.5的整合配置涉及下载和安装两个组件,配置Apache的httpd.conf文件,创建和编辑workers.properties,以及调整Tomcat的server.xml。这个过程需要对Web服务器和应用服务器的配置有一定的...
2. 配置mod_jk:将mod_jk模块加载到Apache配置文件(httpd.conf)中,并设置worker.properties文件来定义Tomcat服务器的工作节点(workers)。 3. 设置虚拟主机:在Apache配置中,为每个Tomcat实例创建一个虚拟主机...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而Apache2和Tomcat的组合经常被用于处理高流量的Web应用。本教程将详细讲解如何在Windows环境下配置Apache2与Tomcat的负载均衡,以提高应用的可用性和响应速度...
集群负载均衡通过JK模块实现了Apache和Tomcat之间的无缝协作,可以根据服务器的性能和负载情况动态调整流量分布,提高系统的稳定性和可扩展性。这种配置在大型网站和企业级应用中尤为常见,能够有效应对高并发访问,...
### Linux环境下Apache+Tomcat+JK集群配置详解 #### 一、集群基础知识 集群技术是提升系统服务能力和高可用性的关键技术之一。通过将多台独立的服务器组织成一个集群,可以实现故障无缝迁移,即当集群中某台服务器...
通常,`conf`目录下会有Apache的`httpd.conf`、Tomcat的`server.xml`等关键配置文件,用户可以通过这些文件了解或调整服务器配置。 总之,Apache2.2与Tomcat6的集成是Web服务部署中常见的技术,它涉及到网络服务器...
配置Apache2.2与Tomcat6的目的是利用Apache处理静态内容的高效性能,同时让Tomcat处理动态Java应用,以达到最佳性能。 4. **配置步骤**: - **安装Apache2.2**:首先,确保Apache服务器已经在系统上正确安装,...
Apache、Tomcat以及mod_jk模块组成的集群架构是一种常见的高性能Web服务器和应用服务器组合,用于处理高并发和负载均衡的场景。在这个配置中,Apache作为前端服务器,通过mod_jk模块与后端的Tomcat应用服务器进行...
Apache 2+Tomcat 6 负载均衡与集群配置是提高Web应用程序可用性和性能的关键技术。通过负载均衡,可以将来自用户的请求均匀分配到多个服务器,避免单点故障,提升系统的整体处理能力。而Tomcat集群则使得多个Tomcat...
Apache2.4与Tomcat7.0.73的整合是Web服务器与应用服务器协同工作的典型实例,这种组合常用于构建高性能、高可用性的Web应用系统。本文将深入讲解如何配置Apache2.4以实现对Tomcat7.0.73的负载均衡和session共享复制...
1. 调整Apache和Tomcat的配置以优化性能,如调整并发连接数、内存使用等。 2. 设置防火墙规则,只允许必要的端口对外访问。 3. 对数据库进行安全配置,如修改默认root用户密码,限制远程访问等。 完成上述步骤后,...
本文旨在深入探讨如何将Apache 2.2、Tomcat 6.0、MySQL 5.0以及mod_jk进行有效的整合,以构建一个高性能、可扩展的应用服务器环境。这种整合方式不仅能够提高系统的整体性能,还能增强其稳定性和安全性。下面将从...
讨论了Tomcat的性能优化,包括JVM参数调整、连接器(Connector)配置和线程池管理。 3. **Apache与Tomcat的集成**:重点讲述了AJP协议(Apache-Java-Protocol)的使用,它是Apache与Tomcat之间通信的默认协议,以及...
这种架构组合可以充分利用 Apache 的高性能和稳定性,以及 Tomcat 对 Java 应用的良好支持。 **Apache 2.4** Apache HTTP Server 2.4 是一个开源且免费的 Web 服务器,广泛应用于互联网。它的最新版本提供了更好的...
- 对于安全性和性能优化方面的需求,可以根据具体场景进一步调整配置。 #### 五、总结 通过以上步骤,可以完成Apache、Tomcat和MySQL的环境搭建。这不仅为Web应用程序提供了稳定可靠的运行基础,还能够提高开发效率...