设为首页 收藏本站
查看: 738|回复: 0

[经验分享] 在一台主机上模拟tomcat集群

[复制链接]

尚未签到

发表于 2015-8-11 07:35:30 | 显示全部楼层 |阅读模式
  1. 如何在一台主机上运行两个tomcat实例
  2. httpd+tomcat负载均衡集成
  3. 下载及参考文献
<1>.如何在一台主机上运行两个tomcat示例
  1.1 下载tomcat压缩包,解压两次,分别命名成work2和work3,如下:
DSC0000.png
  如果不做任何设置很显然是不能成功运行的,一方面是tomcat的运行需要存在环境变量CATALINA_HOME,另一方面如果开启第一个tomcat实例,然后在开启另外的tomcat的时候,会出现JVM_BIND的错误。所需要的修改设置如下:
  1.1.1 修改startup.bat文件,在该文件的开始设置CATALINA_HOME环境变量:
  SET CATALINA_HOME="E:\TomcatCluster\work2"(将这里设置成tomcat解压的目录 ) ++++++++++++ startup.bat文件正文
  1.1.2 修改tomcat的server.xml文件:
  <Connector port="8080" protocol="HTTP/1.1"


               connectionTimeout="20000"
               redirectPort="8443" />  将8080端口号修改成计算机中不使用的端口号。
  1.1.3 修改shutdown端口号
  <Server port="8000" shutdown="SHUTDOWN">
  将8000修改成一个为占用的端口号(这个只需要修改一个tomcat实例的即可)。
  按照上面的两个步骤分别修改work2和work3的配置文件,同时开启两个tomcat示例,确保work2和work3能够正常开启。上面完成了在一台主机上同时开启两个tomcat服务器的工作。
<2>. httpd + tomcat负载均衡整合
  2.1 安装httpd, 下载http://www.apache.org/dist/httpd/binaries/win32/httpd-2.2.17-win32-x86-no_ssl.msi,安装过程略去。安装完成之后,如果需要修改httpd的端口号,可以修改conf/httpd.conf:
  


#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 8081  如果不需要修改端口号的话,直接打开httpd.exe,打开浏览器,输入http://127.0.0.1:8081/(地址中的端口号需要和上面修改的端口号相一致),如果出现It  Works,表明httpd成功安装。
  2.2 修改work2的http监听端口,端口号可以任意,这里是我的配置:
  <Connector port="8079" protocol="HTTP/1.1"


               connectionTimeout="20000"
               redirectPort="8443" />  2.3 修改ajp的端口号:


<!-- Define an AJP 1.3 Connector on port 8009 -->  <Connector port="8077" protocol="AJP/1.3" redirectPort="8443" />
  2.4 配置服务器标识


<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker2">

      <!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) -->

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>  2.5 实现session复制,修改context.xml:
  <Context distributable="true">  +++++++++++++context.xml剩余默认配置
  2.6 按照同样的方式设置work3,我的设置如下:


<Connector port="8099" protocol="HTTP/1.1"
               connectionTimeout="20000"   redirectPort="8443" />
  <Connector port="9999" protocol="AJP/1.3" redirectPort="8443" />


<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker3">

      <!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) -->
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>   
  2.7 在上面的两个tomcat实例的webapp中添加test目录,并添加test.jsp文件:



<html>
<head>
  <title>helloapp</title>
</head>
<body>
<%
System.out.println("call test.jsp");

%>   
SessionID: <%=session.getId() %>  
</body>
</html>
  分别访问上面两个页面的test.jsp页面,确保能够访问, 在我的机器上的地址如下:http://localhost:8079/test/test.jsp和http://localhost:8099/test/test.jsp。
  2.8 使用jk方式集成 httpd + tomcat
  下载mod_jk-1.2.31-httpd-2.2.3.so,请下载合适的mod_jk版本,改名为mod_jk.so放进modules文件夹内,修改httpd.conf文件,增加如下内容:


###############################add by qiang.xu######
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
JkMount  /*.do loadbalancer
JkMount  /*.jsp loadbalancer  ################################################
  增加 workers.properties文件:


worker.list=loadbalancer


worker.worker2.port=8077   #ajp的监听端口
worker.worker2.host=localhost  #108.88.3.105
worker.worker2.type=ajp13
# load banlance factor
worker.worker2.lbfactor=1
worker.worker2.reply_timeout=0

worker.worker3.port=9999
worker.worker3.host=localhost
worker.worker3.type=ajp13
worker.worker3.lbfactor=1
worker.worker3.reply_timeout=0

#这里在的worker2、worker3为需要与上边tomcat设置的别名一致
worker.loadbalancer.balance_workers=worker2,worker3
worker.loadbalancer.sticky_session=1   最终完成httpd + tomcat的配置,如果一切正常的话,试着打开这个http://127.0.0.1:8081/test/test.jsp链接,然后关闭其中的一个server,另外的一个 server将能够接受请求。
<3>. 下载及参考文献
  下载work2,work3, httpd
  

  参考文献:
  http://shmilylq.iteye.com/blog/427165
  http://blog.iyunv.com/zhouyong0/archive/2011/04/14/6323536.aspx
  http://www.blogjava.net/pengo/archive/2011/04/15/348331.html
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-97161-1-1.html 上篇帖子: JDK1.5官方下载 _JDK1.5API(chm)下载 以及 JDK环境变量配置(另附tomcat环境变量设置) 下篇帖子: Tomcat 部署 Web 通过 ip 直接访问项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表