• 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 ,这样停止的时候只会停止对应的服务。

  • 相关阅读:
    node.js 安装后怎么打开 node.js 命令框
    thinkPHP5 where多条件查询
    网站title中的图标
    第一次写博客
    Solution to copy paste not working in Remote Desktop
    The operation could not be completed. (Microsoft.Dynamics.BusinessConnectorNet)
    The package failed to load due to error 0xC0011008
    VS2013常用快捷键
    微软Dynamics AX的三层架构
    怎样在TFS(Team Foundation Server)中链接团队项目
  • 原文地址:https://www.cnblogs.com/fanggege/p/12360859.html
Copyright © 2020-2023  润新知