在Windows系统下搭建一个apache搭载多个tomcat(Tomcat和Apache集群),apache一是响应静态文件的请求(js、html以及一些图片),二是作为分发器将动态请求分发给下面的tomcat。这样要比单纯tomcat的要高很多,还有就是如果一个tomcat服务器挂了,系统仍然可以运行。
下面是本人参考网上其他一些同行的播客做的实例:
1、准备工具:
(1)、apache:http://labs.mop.com/apache-mirror//httpd/binaries/win32/#warnings
(2)、mod_jk-1.2.28-httpd-2.2.3.so(即JK):这个网上很容易下,我在附件中也已经给出。是这是一款apache用来连接后台tomcat的模块,支持集群和负载均衡。
(3)、两个tomcat(我用的是tomcat6,这个自己下)
2、部署apache、tomcat:
apache直接安装即可,因为我是在一台电脑上做的实验其中一个tomcat需要改端口:
<Server port="9005" shutdown="SHUTDOWN">:原来是8005
<Connector executor="tomcatThreadPool"
port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> :原来是8080
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />:原来是8009
查看apache是否启动,查看两个tomcat是否能同时启动,如果可以进行下面群集的配置。
3、开始搭建(群集以及负载均衡配置):
(1)、将mod_jk-1.2.28-httpd-2.2.3.so丢到apache下的modules下面,即E:\Apache2.2\modules下面(我的apache路径是E:\Apache2.2)
(2)、配置apache:
E:\Apache2.2\conf下面创建workers.properties(里面配置了分发的tomcat服务器以及负载均衡的配置)
#server
worker.list = controller
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=true // 粘性session处理
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=9009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 // 值越大,分发给的几率越大
E:\Apache2.2\conf下面创建mod_jk.conf,内容如下:
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp controller
在E:\Apache2.2\conf下面找到httpd.conf,在最下面加上:
include "E:\Apache2.2\conf\mod_jk.conf"
(3)、修改tomcat下的配置:
修改conf下面的server.xml:
打开:<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>(之前一般是注释掉了)
<Engine name="Catalina" defaultHost="localhost">改为<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">(tomcat2的话就为tomcat2)
(4)、配置完成,运行tomcat以及apache
4、测试:
用下面给出的test测试:
打开两个不同的浏览器,访问:http://localhost/test/index.jsp
发现访问的是两个不同的tomcat说明成功,你不停的刷新一个浏览器,发现sessionID不变,tomcat也不变,这就是因为配置了粘性session。
相关推荐
Apache作为反向代理服务器,可以将用户的请求分发到多个Tomcat实例上,从而实现应用服务的扩展和容错。接下来,我们将详细探讨这个过程中的关键步骤和涉及的技术点。 首先,理解集群的概念是至关重要的。集群是指多...
- 安装两个Tomcat实例,并在各自的`webapps`目录下部署测试项目。 **步骤2:JK插件配置** - 将`mod_jk.so`复制到`<apache_home>/modules`目录下。 - 在`<apache_home>/conf`目录下创建`workers.properties`文件,...
在构建高性能、高可用性的Web服务时,常常需要利用负载均衡技术将流量分散到多个服务器,以提升系统处理能力和稳定性。本主题聚焦于如何在Linux平台上搭建一个由Apache(负责处理静态资源)和Tomcat(负责处理动态...
- 实现session同步机制,确保集群中的多个Tomcat实例能够共享用户会话信息。 - 配置负载均衡规则,通过mod_jk将请求合理地分配到各个Tomcat服务器。 - 开展Session测试,确保集群环境下用户会话的正常工作。 通过...
首先,负载均衡的基本原理是通过一个前端服务器(如Apache HTTP Server)来分发用户的请求到多个后端服务器(如Tomcat应用服务器)。当某一台后端服务器出现故障时,前端服务器能够自动将流量切换到其他正常工作的...
文中提到使用两台服务器,每台服务器上部署两个Tomcat实例,形成一个包含四个Tomcat实例的集群。这里的服务器可以是实体服务器,也可以使用虚拟机。由于集群需要实现Session复制,保证用户访问的连续性,因此在应用...
4. **启动Tomcat集群**:在两台或多台服务器上部署相同的应用,并配置每个Tomcat实例监听不同的端口(如8080)。确保应用的session复制功能关闭,因为Sticky模式会处理会话保持。 5. **测试和监控**:重启Apache...
5. **测试和监控**:启动Apache和两个Tomcat实例,通过访问配置的域名进行测试。可以使用curl命令或者浏览器检查请求是否被正确地分发到不同的Tomcat实例。同时,使用Apache的mod_status模块监控服务器状态,以确保...
Apache2.2与Tomcat6.0的组合可以构建一个高效、可靠的负载均衡服务器系统,以分散客户端请求到多个后端应用服务器,提高整体服务的可用性和响应速度。以下是搭建和配置的关键步骤及知识点: 1. **Apache2.2安装配置...
"Nginx负载均衡代理多个Tomcat搭建实例过程" 一、Nginx安装与配置 Nginx是一款轻量级的Web服务器,反向代理和负载均衡都是其特色功能。本节主要介绍Nginx的安装和基本配置。 1.1 安装Nginx Nginx提供免费版本,...
3. 设置虚拟主机:在Apache配置中,为每个Tomcat实例创建一个虚拟主机,使用mod_jk的 JKMount指令将URL映射到对应的Tomcat工作节点。 4. 负载均衡策略:配置Apache的负载均衡策略,如轮询、最少连接数等,以决定...
Apache作为前端反向代理服务器,负责分发请求到后端的多个Tomcat实例,以提高应用的可用性和响应速度。下面我们将详细探讨这个配置过程中的关键知识点。 首先,**Apache2.2** 是一款开源的HTTP服务器,常用于网站...
- **虚拟主机**:设置Apache的虚拟主机,以便支持多个域名。 - **集群配置**:使用mod_jk模块配置Apache以实现负载均衡。 2. **Tomcat配置** - **配置JAVA_HOME**:确保Tomcat知道JDK的位置。 - **配置route**:...
这个集群配置可以有效地分发Web请求到多个Tomcat实例,提高服务的响应能力和可靠性。 首先,我们来安装Apache HTTP服务器。在Linux服务器上,你需要上传Apache的源码包,并确认服务器已经安装了GCC编译器。如果没有...
在解压"apache-tomcat-9.0.56.zip"后,你会得到一个包含多个文件和目录的结构,如`bin`、`conf`、`lib`、`webapps`等。`bin`目录下的可执行文件用于启动、停止和管理Tomcat服务;`conf`目录包含服务器配置文件,如`...
- 使用`ProxyPass`和`ProxyPassReverse`指令的数组形式,将多个Tomcat实例添加到负载均衡池中: ``` *:80> ServerName yourdomain.com ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid ...
在集群环境中,多个Tomcat实例可以共享会话数据,提高系统的可用性。Tomcat项目集群部署涉及的主要概念有:复制、负载均衡和故障转移。 集群配置的关键步骤包括: 1. **安装和配置Apache2.4**: - 下载并安装...
- 修改完成后,启动两个Tomcat实例,并确保它们都运行正常。 ##### 3. 修改Tomcat的默认页面 - 在每个Tomcat的`webapps/ROOT`目录下添加或修改一个HTML文件,以便于区分不同Tomcat节点的请求。 ##### 4. 配置...