实现单Tomcat多Server配置

目标是实现单个应用在同个tomcat中运行多个实例。每个实例除端口、日志输出不一样之外,其他相同,应用只发布和配置一次。以下步骤是按照Tomcat 7.0.22进行的。

  • 将默认tomcat中的conf/server.xml改名为server1.xml,内容如下:
<?xml version='1.0' encoding='utf-8'?>
<Server port="9000" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <Service name="Catalina">
    <Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" acceptCount="200" maxThreads="800" URIEncoding="UTF-8"/>
    <Connector port="9010" protocol="AJP/1.3" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>
    </Engine>
  </Service>
</Server>
  •  按照同样的做法,顺着端口号+1形成server2.xml,server3.xml
  • 更改tomcat的日志配置conf/logging.properties,形成单一的日志输出。
handlers = java.util.logging.ConsoleHandler
.handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
  • 编写startServer.sh/stopServer.sh,可以使用startServer.sh server1方式启动,stopServer.sh server1停止服务器,以下是startServer.sh的样例。
#!/bin/sh
PRG="$0"
PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh
export CATALINA_OUT=`cd "$PRGDIR/.." >/dev/null; pwd`/logs/"$1".out
echo Using config :conf/"$1".xml
echo Using CATALINA_OUT:"$CATALINA_OUT"
exec "$PRGDIR"/"$EXECUTABLE" start -config conf/"$1".xml

现在就可以在webapps中部署应用,Catalina/localhost配置上下文以及数据源了。

转载于:https://my.oschina.net/chaostone/blog/35598

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值