缘由:
起步阶段的应用,都可能部署在一台服务器上(费用上的原因)
第一个优先分离的,肯定是数据库和应用服务器。
第二个分离的,会是什么呢?各有各的考虑,我所在的项目组重点考虑的节约带宽,服务器性能再好,带宽再高,并发来了,也容易撑不住。因此,我这篇文章的重点在这里。这里重点是介绍实践,不一定符合所有情况,供看者参考吧,
环境介绍:
WEB应用服务器:4CPU双核2G, 内存4G
部署:Win2003/Apache Http Server 2.1/Tomcat6
数据库服务器:4CPU双核2G, 内存4G
部署:Win2003/MSSQL2000
步骤:
步骤一:增加2台配置为:2CPU双核2G,内存2G普通服务器,做资源服务器
部署:Tomcat6,跑了一个图片上传的简单应用,(记得指定web.xml的<distributable/>),并指定域名为res1.***.com,res2.***.com,采用ajp协议
步骤二:修改Apache httpd.conf配置
原来应用的文件上传功能网址为:
1、/fileupload.html
2、/otherupload.html
在httpd.conf中增加如下配置
<VirtualHost *:80>
ServerAdmin webmaster@***.com
ProxyPass /fileupload.html balancer://rescluster/fileupload lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
ProxyPass /otherupload.html balancer://rescluster/otherupload.html lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
#<!--负载均衡-->
<Proxy balancer://rescluster/>
BalancerMember ajp://res1.***.com:8009 smax=5 max=500 ttl=120 retry=300 loadfactor=100 route=tomcat1
BalancerMember ajp://res2.***.com:8009 smax=5 max=500 ttl=120 retry=300 loadfactor=100 route=tomcat2
</Proxy>
</VirtualHost>
步骤三,修改业务逻辑:
所有上传文件在数据库中均采用全url的方式保存,例如产品图片路径存成:http://res1.***.com/upload/20090101/product120302005.jpg
现在,你可以高枕无忧了,带宽不够时,增加个几十台图片服务器,只需要稍微修改一下apache的配置文件,即可。
分享到:
相关推荐
Apache服务器是世界上最流行的Web服务器软件之一,用于提供静态和动态内容。它支持多种操作系统,包括Linux,通过配置文件实现高度可定制性。本篇文章将详细解释Apache服务器的一些基本配置指令,帮助你更好地理解和...
* 客户端请求静态页面时,由Apache服务器响应请求。 * 客户端请求动态页面时,则是Tomcat服务器响应请求。 * 通过Apache信息过滤,实现网站动、静页面分离,保证了应用的可扩展性和安全性。 二、Apache和Tomcat连接...
在某些场景下,为了整合两者的优点,我们会利用Apache的`mod_proxy_ajp`模块来实现Apache与Tomcat的结合,以提高系统性能和负载均衡能力。下面将详细介绍这一过程。 `mod_proxy_ajp`是Apache HTTP服务器的一个模块...
"实战Nginx取代Apache的高性能Web服务器"这个主题,旨在探讨如何利用Nginx替换Apache来实现更高效的Web服务。Nginx以其高性能、低内存占用和强大的反向代理能力而闻名,这使得它成为许多大型网站和高流量应用的首选...
本教程将详细介绍如何利用SpringBoot框架实现MySQL的读写分离,以及涉及到的相关技术。 首先,我们需要理解读写分离的基本概念。读写分离是指将数据库的读操作和写操作分配到不同的服务器上,通常主库负责写操作,...
Apache 和 Tomcat 是两种广泛应用的 Web 服务器软件,它们在 Web 开发领域有着不同的角色和功能。 Apache HTTP Server,简称 Apache,是一个开源的 Web 服务器,主要负责处理静态内容,如 HTML、CSS、JavaScript ...
在实际项目开发中,为了利用Apache的高性能处理静态资源和Tomcat的强大Java支持,我们通常会将两者进行整合。本文将详细介绍如何进行Apache与Tomcat的整合配置,以实现网站目录的搭建。 首先,我们需要了解Apache和...
1. KeepAlive优化:Apache 2.4能更好地控制持久连接,提高资源利用率,减少服务器负载。 2. 响应式调度:改进了请求处理策略,优先处理未完成的请求,提高响应速度。 3. 内存管理:优化内存分配策略,减少内存碎片,...
2. **模块化设计**:Apache服务器的核心功能与可选模块分离,允许管理员根据需要加载或卸载模块,以优化服务器配置,降低资源占用。 3. **更好的安全特性**:新增了模块如mod_security和mod_evasive,可以增强...
这样既能利用Apache处理静态内容的优势,又能利用Tomcat处理Java应用程序的特性,实现资源的最佳分配。 **实现原理:** Apache+jk+Tomcat集群的工作流程大致如下: 1. 用户向Apache服务器发送请求。 2. Apache...
总之,《实战Nginx:取代Apache的高性能Web服务器》将带你深入理解Nginx的运行机制,通过实例操作,让你掌握如何利用Nginx构建稳定、高效的Web服务环境。无论你是初学者还是有经验的系统管理员,这本书都将为你提供...
SpringBoot与Shiro的结合为开发者提供了一个高效、便捷的实现前后端全分离接口安全的框架。本文将深入探讨如何利用这两个强大的工具构建安全的Web服务。 首先,SpringBoot是Spring框架的一个轻量级版本,它简化了...
【Apache为WebLogic提速】在大型企业级应用中,WebLogic作为一款强大的Java EE中间件服务器,常常被用来承载复杂的Web应用程序。然而,在高并发、大规模用户量的场景下,单纯依赖WebLogic可能会面临性能瓶颈和稳定性...
Apache手册将详细介绍这些特性和配置方法,包括如何安装、配置、管理和优化Apache服务器,以及如何解决常见问题。它不仅是管理员的宝贵参考资料,也是开发人员和运维人员必备的工具书。通过深入阅读和实践,你可以更...
"Apache24"目录可能包含了Apache服务器的所有组件,如bin文件夹下的可执行文件(httpd.exe),conf文件夹中的配置文件(httpd.conf),以及logs文件夹用于存放日志文件。用户需要根据自己的需求修改配置文件,并按照...
【初阶PHP Apache MySQL网站设计】是一本专为新手打造的Web开发指南,它涵盖了从基础到进阶的PHP、Apache服务器以及MySQL数据库知识。这本书的原英文名为"Beginning PHP, Apache, MySQL Web Development",旨在帮助...
* 客户端请求静态页面时,由Apache服务器响应请求。 * 客户端请求动态页面时,则是Tomcat服务器响应请求。 * 通过Apache信息过滤,实现网站动、静页面分离,保证了应用的可扩展性和安全性。 二、Apache和Tomcat连接...
10. **日志记录改进**:Apache 2.4改进了日志记录功能,允许更灵活的日志格式和位置,还引入了error_log和access_log分离,便于故障排查和审计。 在安装和配置Apache 2.4.39时,readme_first.html文件通常会包含...
对于动态内容处理,Nginx可以通过反向代理与FastCGI、uWSGI等后端应用配合,实现动静分离,提高系统整体性能。 在高级特性部分,书中涵盖了Nginx的负载均衡策略,如轮询、最少连接、IP哈希等,以及健康检查和会话...
Apache Tomcat 5.0.28 是一个古老但经典的Java Servlet容器,它实现了Java EE Web应用程序的规范,特别是Servlet和JSP。Tomcat作为开源软件,因其轻量级、高效和易于配置的特点,在Web服务器领域深受开发人员喜爱。...