- 浏览: 52953 次
- 性别:
- 来自: 北京
文章分类
apache与tomcat负载集群集成方法有3种jk、jk_proxy、http_proxy
- 博客分类:
- 服务器
apache与tomcat负载集群集成方法有3种jk、jk_proxy、http_proxy
本次集成使用的软件版本:
tomcat:apache-tomcat-6.0.20.zip
jdk:jdk-6u14-windows-i586.exe
本次测试是1个apache集成两个tomcat。
安装apache http server省略,访问地址为http://127.0.0.1:8081
安装tomcat,解压apache-tomcat-6.0.20.zip,测试时我是把两个tomcat分开放在不同的虚拟机,其中一个是和apache同一台虚拟机。
两个tomcat分别命名为worker2和worker3
先说tomcat.worker2的配置:
server.xml
(1)配置http监听端口,这里端口设为8079,该步骤非必要,只要不冲突就行了。
(2)配置AJP监听端口,这里端口设为8077,该步骤非必要,只要不冲突就行了。
(3)配置服务器标识,这里标识名配置为:worker2,添加jvmRoute="worker2",该步骤必须。
在Engine节点启用集群配置,只需去掉Cluster节点前的注释就行了,该步骤必须,配置了集群才能实现Session复制,如果只有一个集群,只按我下边的配置就行了,如果多个集群,则不能按此配置,tomcat服务器内的帮助文档/docs/cluster-howto.html,/docs/config/cluster.html有介绍,需要的可以参考下。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
要实现session复制,还需要在context.xml添加属性distributable="true",如下:
如果不想在context.xml中添加distributable="true",还有另一方法是在应用程序的web.xml中添加<distributeable/>,不过这方法我没有测试。
配置完成,访问地址为:http://127.0.0.1:8079
另一个tomcat.worker3的配置
server.xml
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker3">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
context.xml配置tomcat.worker2一样。
配置完成,访问地址为:http://127.0.0.1:8078
注意:如果两个tomcat是放在同一台机内,server.xml可能还需要修改其它端口,请确认两个tomcat能正常启动。
在tomcat.worker2和tomcat.worker3的webapps文件夹添加同样的测试文件test"test.jsp
<head>
<title>helloapp</title>
</head>
<body>
<%
System.out.println("call test.jsp");
%>
SessionID: <%=session.getId() %>
</body>
</html>
访问http://127.0.0.1:8078/test/test.jsp和http://127.0.0.1:8079/test/test.jsp,确保能成功访问。
现在开始apache和tomcat的不同方式集成
1、jk方式集成
下载mod_jk-1.2.31-httpd-2.2.3.so,请下载合适的mod_jk版本,改名为mod_jk.so放进modules文件夹内
修改conf/httpd.conf配置
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
JkMount /*.do loadbalancer
JkMount /*.jsp loadbalancer
增加conf/workers.properties文件,添加内容
worker.worker2.port=8077 #ajp的监听端口
worker.worker2.host=108.88.3.105
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
worker.worker3.port=9009
worker.worker3.host=127.0.0.1
worker.worker3.type=ajp13
worker.worker3.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker2,worker3 #这里在的worker2、worker3为需要与上边tomcat设置的别名一致
worker.loadbalancer.sticky_session=1
配置完成任务,访问http://127.0.0.1:8081/test/test.jsp,检查是否能正常访问。
2、ajp_proxy
去掉httpd.conf文件中下面内容的注释(删掉#号),开启下边的配置
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
注意:
除了mod_proxy.so,mod_proxy_balancer.so,mod_proxy_connect.so
如果是采用ajp_proxy,需要加载mod_proxy_ajp.so这个模块;
如果是采用http_proxy,需要加载mod_proxy_http.so这个模块;
httpd.conf,删除刚才jk方式的配置内容,增加下边的配置
<proxy balancer://loadbalancer>
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=worker3
BalancerMember ajp://108.88.3.105:8077 loadfactor=1 route=worker2
</proxy>
conf/extra/httpd-vhosts.conf增加配置
ServerAdmin xxxx@xxx.com
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://loadbalancer/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://loadbalancer/
ErrorLog "logs/loadbalancer-error.log"
CustomLog "logs/loadbalancer-access.log" common
</VirtualHost>
配置完成任务,访问http://127.0.0.1:8081/test/test.jsp,检查是否能正常访问。
3、http_proxy
http_proxy的配置与ajp_proxy类似,修改方法2的httpd.conf配置如下,其它不变
<proxy balancer://loadbalancer>
BalancerMember http://127.0.0.1:8078 loadfactor=1 route=worker3
BalancerMember http://108.88.3.105:8079 loadfactor=1 route=worker2
</proxy>
配置完成任务,访问http://127.0.0.1:8081/test/test.jsp,检查是否能正常访问。
apache_tomcat配置文件下载:apache_tomcat
发表评论
-
tomcat 设置并发连接数
2012-06-11 13:47 1594tomcat 设置并发连接数 博客分类: s ... -
如何设置网站301跳转(z)
2011-12-08 21:49 1181当有多个域名指向你的站点时,301跳转是每个网站常用的一种页面 ... -
apache与 tomcat 集群配置与session共享
2011-12-08 21:49 1046apache与 tomcat 集群配置与session共享 ... -
配置负载均衡 配置集群
2011-12-08 21:50 845所需软件 Apache :apache_2.0.63 1 ... -
Apache,Tomcat负载均衡和集群
2011-12-08 21:50 916Mysql Statements | Listing a ... -
apache 和 tomcat整合配置
2011-12-02 12:09 785为了简单起见,我这里使用的是最简配置,以便你尽快看到希望,关于 ... -
Apache+Tomcat整合新方法
2011-12-02 11:17 822Apache+Tomcat整合新方法 和 配置 将a ... -
apache tomcat 区别详解--1
2011-12-02 11:04 828Apache官方网站:http://www ... -
apache 与 tomcat的区别
2011-12-02 10:48 766Apache是一个web服务器环境程序,可以作为web服务器使 ...
相关推荐
在当今的企业级应用中,确保系统的高可用性和稳定性是至关重要的。这通常通过建立集群来实现,即通过部署多台服务器来提供相同的服务,以此来...这样,就完成了整个Mod_Proxy+Apache+Tomcat负载均衡与集群的配置过程。
apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy。本文主要介绍最为常见的JK。 环境:PC2台:pc1(IP 192.168.88.118)安装了apache和tomcat pc2(IP 192.168.88.168)安装了tomcat 系统 win ...
总结起来,"Apache2.2 tomcat-6.0.18负载均衡与集群"是一个复杂但关键的架构,涉及到Apache的mod_proxy和mod_jk模块,以及Tomcat的集群配置。这个主题涵盖了如何利用这些工具和技术创建一个高可用、高性能的Web服务...
将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用...
将Apache与Tomcat集成配置成集群,可以提高网站的可用性和可扩展性,实现负载均衡,提升服务性能。 集群的基本概念是将多个独立的服务器节点组织在一起,以一个整体对外提供服务,当某个节点出现问题时,其他节点...
Apache的负载均衡模块主要有两种常用的方式:mod_proxy和mod_jk。mod_proxy是Apache内建的反向代理模块,可以直接处理HTTP、HTTPS等协议,支持轮询、最少连接、IP哈希等多种负载均衡策略。mod_jk是专门为Tomcat设计...
1. **Apache mod_jk模块**:这是Apache与Tomcat间通信的重要组件,它实现了Apache的mod_proxy_ajp模块的功能,用于处理AJP(Apache JServ Protocol)协议,从而实现反向代理和负载均衡。mod_jk负责将来自Web客户端的...
2. **Mod_proxy_module**:另一种方法是使用Apache的Mod_proxy模块,它可以透明地将请求转发到Tomcat。Mod_proxy提供了HTTP、HTTPS、AJAX等多种代理模式,并且支持AJP(Apache JServ Protocol)协议,直接与Tomcat...
集成模式通过Apache的模块(如mod_jk或mod_proxy_ajp)实现Apache与Tomcat的紧密集成。mod_jk是用于Apache与Tomcat间通信的Apache模块,它通过AJP协议处理请求转发。mod_proxy_ajp则是Apache 2.2及以上版本的内置...
Apache集群与Tomcat的整合是实现高可用性和负载均衡的重要技术。Apache作为前端服务器,可以接收客户端请求,并根据配置将这些请求转发给后端的Tomcat应用服务器处理。在这个过程中,Apache的模块(mod)起着关键...
3. **中间件配置**:在Apache中配置连接Apache和Tomcat集群的中间件,通常使用mod_jk或mod_proxy_ajp模块,它们可以将来自Apache的请求转发到适当的Tomcat实例。 4. **负载均衡策略**:定义负载均衡策略,常见的有...
Apache和Tomcat是两种在Web服务器领域广泛应用的软件。Apache主要作为HTTP服务器,处理静态内容,而Tomcat则是一个Java应用服务器,主要用于运行Java Servlet和JavaServer Pages (JSP)。将两者结合进行集群配置,...
Apache2.4、Tomcat8.0以及JK模块的结合使用是实现Web服务器与应用服务器之间负载均衡的一种常见方案。Apache作为前端服务器处理静态资源请求,而动态内容(如Java Web应用)则由Tomcat这样的Java应用服务器处理。JK...
本文介绍了使用Apache反向代理配置集群,基于mod_proxy+Apache 2.2.16+Tomcat 7实现负载均衡与集群配置。 一、 背景简介 大多数企业应用都希望能做到7*24小时不间断运行。要保持如此高的可用性并非易事,比较常见...
本篇文章将深入探讨如何设置Apache与Tomcat的集群,实现伪静态处理以及负载均衡。 **Apache与Tomcat整合** Apache和Tomcat的整合允许我们利用Apache的静态资源处理能力和Tomcat的动态内容处理能力。通常采用两种...