• tomcat 测试环境多实例配置搭建


    简述

    实际使用场景中,如果使用tomcat ,在一个测试服务器中会有多个开发团队部署多个java服务,每个服务都有自己的端口。如果是生产环境同一台服务器每个java服务都部署一个tomcat 实例,每个服务都配置自己的 catalina.sh 配置。但是在测试环境中仅用于测试没有个性化配置要求,所以为了维护方便可以统一配置tomcat ,然后每个服务部署自己的应用,也就是说共用一个catalina.home  ,独享自己的catalina.base,但是这种情况也是多实例部署。

    具体配置

    安装jdk 及tomcat

    每个服务部署一个单独的目录,例如 test-pay  test-shop  test-message ,目录结构如下:

    ls test-pay
    conf  lib  logs  temp  webapps  work

    每个服务一个启动和停止脚本,脚本内容如下:

    #!/bin/bash
    #set env
    export JAVA_HOME=/usr/java/jdk1.8.0_65
    export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    export CATALINA_HOME=/data/tomcat8              #所有服务此处的catalina.home 都是相同
    export CATALINA_BASE=/data/test-pay             #每个服务都有自己的base ,例如test-shop 就是/data/test-shop
    $CATALINA_HOME/bin/startup.sh                 #停止脚本此处脚本名为shutdown.sh,其他配置一样

    tomcat  启动和停止过程

    所有的服务启动脚本调用都是/data/tomcat8/bin/startup.sh , 此脚本调用的是同级目录的catalina.sh ,此脚本中配置了统一的jvm参数等配置,启动的时候会加载服务启动脚本中定义的CATALINA_HOME路径,根据路径加载每个服务的conf目录下的server.xml等配置文件,每个server.xml都定义了自己服务对应的端口默认的appBase,一般默认weapps,所有然后就会解压其下的war包。整个过程启动了三个进程

    1 S tomcat 30279 1 0 80 0 - 27064 do_wai Feb21 ? 00:00:00 /bin/sh /data/tomcat/bin/catalina.sh start
    
    
    4 S root 30280 1 0 80 0 - 1527 pipe_w 09:02 pts/6 00:00:00 /usr/sbin/cronolog /data/qa-instances/logs/catalina.%Y-%m-%d.out
    
    
    0 S root 30281 30279 0 80 0 - 1181811 futex_ 09:02 pts/6 00:00:34 /usr/java/jdk1.8.0_65/bin/java -Djava.util.logging.config.file=/data/qa-instances/qa-/conf/logging.properties 
    
     -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms1024m -Xmx1024m -Xloggc:/data/qa-instances/qa-/logs/gc.log -Djdk.tls.ephemeralDHKeySize=2048 
    
     -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /data/tomcat8/bin/bootstrap.jar:/data/tomcat8/bin/tomcat-juli.jar 
    
     -Dcatalina.base=/data/qa-instances/qa-  -Dcatalina.home=/data/tomcat8 -Djava.io.tmpdir=/data/qa-instances/qa-/temp 
    
     org.apache.catalina.startup.Bootstrap start
    View Code

     注意停止脚本也要定义自己的CATALINA_BASE ,这样停止的时候只会停止对应的服务。

  • 相关阅读:
    分而治之应该把握哪些原则呢
    什么事SOA
    SOA架构设计的案例分析课后 学习
    关于分层架构的知识学习
    从小编程,到架构师,我们应该具备什么
    基于MVC架构实例分析以校园知网校内论坛功能为例
    服务架构设计及其应用
    《一线架构师实践指南》阅读笔记03
    《一线架构师实践指南》阅读笔记02
    Pre-Architecture 阶段阅读笔记
  • 原文地址:https://www.cnblogs.com/fanggege/p/12360859.html
Copyright © 2020-2023  润新知