- 浏览: 762186 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (573)
- Java基础 (76)
- C++基础 (5)
- hibernate (5)
- struts (4)
- spring (1)
- webservice (7)
- AjaX基础 (0)
- JS脚本 (53)
- 正则表达式 (5)
- html脚本 (30)
- 数据库基础 (54)
- 工作相关 (49)
- 其他 (30)
- Linux (9)
- web服务器 (17)
- JSP (13)
- eclipse (6)
- 面试题相关 (20)
- XML (3)
- Apache common (2)
- 生活 (35)
- VMware (1)
- log4j (9)
- BeanUtils (2)
- 设计模式 (3)
- UML (1)
- UNIX (1)
- ibats (5)
- GT-Grid (17)
- ABAP学习 (17)
- ABAP (35)
- ABAP--ALV (11)
- ABAP--WEBDIMPRO (0)
- abap-sample (1)
- BEMS (2)
- flex (33)
- GIS技术 (3)
最新评论
Apache + Tomcat + Linux 集群和均衡负载 (Session 同步复制) 配置实践指南
经过我的多次测试实践,在linux和window下测试通过,win的比较简单,因为在默认的情况下,组播就已经打开。
1 在linux 下同一台服务器上测试通过(注意端口不要冲突。特别要注意那个tcpListenPort=”4001″ )
2 在window下的同一台服务器上测试通过,注意要点同上
3 window下多台不同主机上测试通过,没有什么好注意点,可以完全备份一个tomcat
4.linux多台不同tomcat服务器上测试通过。这个也是最后实现,最实际的方案。(一般不用在win下部署tomcatweb应用。呵呵。我觉得)
这里讲下第四中情况
先讲一下环境:都是在Red Hat Linux AS4上测试通过
Apache:ip:192.168.1.11 (一台) 版本:2.0/2.2 (做均换负载服务器)
Tomcat:ip1:192.168.1.12 ip2:192.168.1.13 (两台) 版本:5.0、5.5 (web应用的Real Server)
Jdk:版本1.5 安装在 192.168.1.12 和192.168.1.13上的tomcat服务器上
安装tomcat和apache ,在这里就不讲了。
软件都可以在www.apache.org 的网站上找到(apache,tomcat,mod_jk)
1.下载mod_jk.so 文件放到apache 下的modules下
地址:http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/ 请选择正确的操作系统和Apache的版本。
2.在apache的conf下建立文件workers.properties
添加内容:
#
# workers.properties
#
# list the workers by name
worker.list=tomcatlb, status
# localhost server 1
# ------------------------
worker.tomcat12.port=8009
worker.tomcat12.host=192.168.1.12
worker.tomcat12.type=ajp13
worker.tomcat12.lbfactor=1
worker.tomcat12.connection_pool_timeout=750
worker.tomcat12.socket_keepalive=0
worker.tomcat12.socket_timeout=300000
worker.tomcat12.connect_timeout=10000
worker.tomcat12.reply_timeout=330000
# localhost server 3
# ------------------------
worker.tomcat13.port=8009
worker.tomcat13.host=192.168.1.13
worker.tomcat13.type=ajp13
worker.tomcat13.lbfactor=1
worker.tomcat13.connection_pool_timeout=750
worker.tomcat13.socket_keepalive=0
worker.tomcat13.socket_timeout=300000
worker.tomcat13.connect_timeout=10000
worker.tomcat13.reply_timeout=330000
worker.tomcatlb.type=lb
worker.retries=3
worker.tomcatlb.balanced_workers=tomcat12,tomcat13
worker.tomcatlb.sticky_session=1
worker.status.type=status
3.在conf下添加一个mod_jk.conf文件
LoadModule jk_module modules/mod_jk.so
#configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
4.增加一个虚拟机配置文件vhosts.conf (这个不是必须的,可以将JkMount 的写其他的配置文件中)
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /data/google
ServerName my.linuxcoffee.org
ErrorLog logs/my.linuxcoffee.org-error_log
CustomLog logs/my.linuxcoffee.org-access_log common
DirectoryIndex index.htm index.html
JkMount /*.jsp tomcatlb
JkMount /*.action tomcatlb
JKMount /jkstatus status
4.修改conf下的httpd.conf文件加上
Include conf/vhosts.conf
Include conf/mod_jk.conf
5.配置tomcat
讲Cluster 前的注释去掉,启用tomcat集群功能。
一般不需要修改什么东西,但在我这边,两台linux的tomcat就是死活找不到node,而同样的配置文件在window下的跑得很是正常。
有个东西要说明下,因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。
可以通过netstate -g 来查看组播状态,也可以在route -e 命令中看到
原来一直提示这个问题
信息: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.
最后测试只要修改在Cluster之间的一段代码
Receiver
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
改为
Receiver
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="192.168.1.12"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
在13的服务器上也将这一段修改为自己的ip
然后打开jvmRoute ,跟workers.properties 的两个tomcat名字相匹配
ip1
Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat12"/>
ip2
Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat13"/>
好了,apache和tomcat的配置好了,可以访问了。
这里,再提供一个链接,可以监控和配置负载均衡的各种信息
http://192.168.1.11/jkstatus或http://my.linuxcoffee.org、jkstatus来访问网站。
注:需要在web.xml的display-name后面 下加上一段。 这个跟顺序有关的,不然,xml文件会变红哦。
xml version="1.0" encoding="UTF-8"?>
web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
display-name>TomcatDemodisplay-name>
distributable/>
web-app>
经过我的多次测试实践,在linux和window下测试通过,win的比较简单,因为在默认的情况下,组播就已经打开。
1 在linux 下同一台服务器上测试通过(注意端口不要冲突。特别要注意那个tcpListenPort=”4001″ )
2 在window下的同一台服务器上测试通过,注意要点同上
3 window下多台不同主机上测试通过,没有什么好注意点,可以完全备份一个tomcat
4.linux多台不同tomcat服务器上测试通过。这个也是最后实现,最实际的方案。(一般不用在win下部署tomcatweb应用。呵呵。我觉得)
这里讲下第四中情况
先讲一下环境:都是在Red Hat Linux AS4上测试通过
Apache:ip:192.168.1.11 (一台) 版本:2.0/2.2 (做均换负载服务器)
Tomcat:ip1:192.168.1.12 ip2:192.168.1.13 (两台) 版本:5.0、5.5 (web应用的Real Server)
Jdk:版本1.5 安装在 192.168.1.12 和192.168.1.13上的tomcat服务器上
安装tomcat和apache ,在这里就不讲了。
软件都可以在www.apache.org 的网站上找到(apache,tomcat,mod_jk)
1.下载mod_jk.so 文件放到apache 下的modules下
地址:http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/ 请选择正确的操作系统和Apache的版本。
2.在apache的conf下建立文件workers.properties
添加内容:
#
# workers.properties
#
# list the workers by name
worker.list=tomcatlb, status
# localhost server 1
# ------------------------
worker.tomcat12.port=8009
worker.tomcat12.host=192.168.1.12
worker.tomcat12.type=ajp13
worker.tomcat12.lbfactor=1
worker.tomcat12.connection_pool_timeout=750
worker.tomcat12.socket_keepalive=0
worker.tomcat12.socket_timeout=300000
worker.tomcat12.connect_timeout=10000
worker.tomcat12.reply_timeout=330000
# localhost server 3
# ------------------------
worker.tomcat13.port=8009
worker.tomcat13.host=192.168.1.13
worker.tomcat13.type=ajp13
worker.tomcat13.lbfactor=1
worker.tomcat13.connection_pool_timeout=750
worker.tomcat13.socket_keepalive=0
worker.tomcat13.socket_timeout=300000
worker.tomcat13.connect_timeout=10000
worker.tomcat13.reply_timeout=330000
worker.tomcatlb.type=lb
worker.retries=3
worker.tomcatlb.balanced_workers=tomcat12,tomcat13
worker.tomcatlb.sticky_session=1
worker.status.type=status
3.在conf下添加一个mod_jk.conf文件
LoadModule jk_module modules/mod_jk.so
#configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
4.增加一个虚拟机配置文件vhosts.conf (这个不是必须的,可以将JkMount 的写其他的配置文件中)
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /data/google
ServerName my.linuxcoffee.org
ErrorLog logs/my.linuxcoffee.org-error_log
CustomLog logs/my.linuxcoffee.org-access_log common
DirectoryIndex index.htm index.html
JkMount /*.jsp tomcatlb
JkMount /*.action tomcatlb
JKMount /jkstatus status
4.修改conf下的httpd.conf文件加上
Include conf/vhosts.conf
Include conf/mod_jk.conf
5.配置tomcat
讲Cluster 前的注释去掉,启用tomcat集群功能。
一般不需要修改什么东西,但在我这边,两台linux的tomcat就是死活找不到node,而同样的配置文件在window下的跑得很是正常。
有个东西要说明下,因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。
可以通过netstate -g 来查看组播状态,也可以在route -e 命令中看到
原来一直提示这个问题
信息: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.
最后测试只要修改在Cluster之间的一段代码
Receiver
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
改为
Receiver
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="192.168.1.12"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
在13的服务器上也将这一段修改为自己的ip
然后打开jvmRoute ,跟workers.properties 的两个tomcat名字相匹配
ip1
Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat12"/>
ip2
Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat13"/>
好了,apache和tomcat的配置好了,可以访问了。
这里,再提供一个链接,可以监控和配置负载均衡的各种信息
http://192.168.1.11/jkstatus或http://my.linuxcoffee.org、jkstatus来访问网站。
注:需要在web.xml的display-name后面 下加上一段。 这个跟顺序有关的,不然,xml文件会变红哦。
xml version="1.0" encoding="UTF-8"?>
web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
display-name>TomcatDemodisplay-name>
distributable/>
web-app>
发表评论
-
如何查看Tomcat版本信息
2012-01-19 11:03 1一般来说,在tomcat启动时就会有版本信息,如: 信息: ... -
如何查看Tomcat版本信息
2012-01-19 11:03 1126一般来说,在tomcat启动时就会有版本信息,如: 信息: ... -
tomcat 设置session失效时间
2011-12-06 09:20 1330tomcat在5.5以后,就没有自带admin项目了,如果要从 ... -
The content of element type "web-app" must match……问题之解决办法
2011-12-06 09:18 1618在flex整合java生成的web.xml中添加引用serve ... -
The content of element type "web-app" must match解决
2011-12-06 09:16 921The content of element type &qu ... -
java.io.EOFException解决
2010-05-28 15:54 2549IOException while loading persi ... -
Tomcat下中文的彻底解决
2009-12-18 17:15 821这些天开发一个项目,服务器是tomcat,****作系统是xp ... -
远程重新启动Tomcat
2009-11-12 15:50 1335jsp 代码如下:查看复制到剪切板打印 <%@ page ... -
linux下 JDK mysql tomcat的安装
2009-11-12 15:05 1176一、JDK 1. 下载并安装JDK: 下载地址 http:/ ... -
linux下tomcat服务的启动、关闭与错误跟踪
2009-11-12 15:01 2553linux下tomcat服务的启动、关闭与错误跟踪,远程连接到 ... -
Tomcat中部署Java Web应用程序
2009-11-12 11:22 953在Tomcat中部署Java Web应 ... -
非安装型的Tomcat如何注册成为服务
2009-11-12 11:17 690如果用win32 exe 会直接安装到系统服务的 如果是zi ... -
Tomcat6.0连接池配置
2009-11-12 11:12 1633Tomcat6.0连接池配置 1.配置tomcat下的con ... -
apache+tomcat集群、负载均衡及session复制
2009-11-06 16:33 1477一、环境搭建: * 准备机器两台:192.168.0.2、19 ... -
web.xml配置详解
2009-11-06 16:27 823<?xml version="1.0" ... -
Tomcat服务器
2009-10-20 14:14 789Tomcat服务器:Tomcat 是一个免费的开放源代码的 S ... -
如何指定tomcat中session过期时间
2009-10-14 15:52 1163如何指定tomcat中session过期时间 1. 在se ...
相关推荐
linux配置Tomcat集群
linux下tomcat集群及配置文档,很详细,按照这个做就可以配置成功
1), VM虚拟机: VMware-workstation-full-10.0 (2),linux系统ubuntu-12.04.3-server-amd64 ...(6),tomcat: apache-tomcat-7.0.47 (7),mysql: 5.5.34-0ubuntu0.12.04.1 (8),测试工具:apache-jmeter-2.9
tomcat集群配置linux,tomcat集群配置linuxtomcat集群配置linuxtomcat集群配置linux
linux下tomcat apache集群配置说明.doc
轻松配置linux Tomcat集群 轻松配置linux Tomcat集群 PDF
需要安装程序的资源,请点本人的资源 有windows ,linux ,mok_jk都有
linux下nginx-tomcat集群及session共享,亲测成功,下载的文件包含了所有需要的jar包及nginx,memcached安装,配置,由于试了很多种方法,下了很多包,有些也需要积分,所以这里下载要些积分留着用,不好意思了,...
方便大家下载,希望搭建linux下配置tomcat集群的负载均衡时候查阅!
linux配置Tomcat集群宣贯.pdf
自行整理的tomcat配置文档,具体介绍需要的相关插件和测试方法
tomcat+apache+linux负载均衡集群配置反向代理
linux下配置tomcat集群的负载均衡
linux下配置tomcat集群的负载均衡
本文为您讲述了如何在 Windows 或 Linux 下进行 Tomcat 集群的安装配置。 Windows 下 Tomcat 集群的安装配置与 Linux 下稍有区别,道长为了在一篇教程中讲解两 种操作系统的配置,因此使用两台机器进行安装工作,一...
tomcat linux 集群资料参考,主要讲解基于LINUX下实现TOMCAT集群配置
• 负 载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。 • 错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服 务实体中执行同一任务的资源接着完成任务。这种由于一个实体中...
Linux(64位)下 apache-2.2.22与tomcat6.0.37 纵向集群配置文件
linux操作系统tomcat集群负载均衡配置
Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册[定义].pdf