• 001_Tomcat 单机多实例配置


    Tomcat 单机多实例配置

    java不同于php,单个站点更新维护都会影响到其他站点,一般都会将几个站点放在一个实例下。今天全称演示单台服务器如何配置多个tomcat实例。

    1. 环境

    tomcat:/usr/local/tomcat

    • a.ttlsa.com
      站点程序:/data/site/a.ttlsa.com
      端口:8080

    • b.ttlsa.com
      站点程序:/data/site/b.ttlsa.com
      端口:8081

    2. 配置多实例目录

    在tomcat安装目录下创建 a.ttlsa.com、b.ttlsa.com,并且将 conf、logs、webapp、temp、work 目录拷贝到这两个目录,然后tomcat安装目录只需要留下bin、a.ttlsa.com、b.ttlsa.com、lib这4个目录即可。配置后的目录结构如下:

    # pwd
    /usr/local/tomcat
    # tree -d -L 2
     ├── bin
     ├── a.ttlsa.com
     │ ├── conf
     │ ├── logs
     │ ├── target
     │ ├── temp
     │ ├── webapp
     │ └── work
     ├── lib
     └── b.ttlsa.com
     ├── conf
     ├── logs
     ├── temp
     ├── webapp
     └── work
    

    3. 配置站点 server.xml

    3.1 配置 a.ttlsa.com

    vim /usr/local/tomcat/a.ttlsa.com/conf/server.xml

    //注释ajp
    <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
    //server端口8005改为8001
    <Server port="8001" shutdown="SHUTDOWN">
    //在<Engine name="Catalina" defaultHost="localhost">增加host配置,如下
    <Host name="a.ttlsa.com" appBase="/data/site/a.ttlsa.com"
          unpackWARs="true" autoDeploy="true"
          xmlValidation="false" xmlNamespaceAware="false">
          <Context path="" docBase=""  reloadable="true">
            <valve className="org.apache.catalina.valves.RemoteAddrValve" />
          </Context>
    </Host>
    

    3.2 配置 b.ttlsa.com

    vim /usr/local/tomcat/a.ttlsa.com/conf/server.xml

    //注释ajp
    <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
    //server端口8005改为8002
    <Server port="8002" shutdown="SHUTDOWN">
    //在<Engine name="Catalina" defaultHost="localhost">增加host配置,如下
    <Host name="b.ttlsa.com" appBase="/data/site/b.ttlsa.com"
          unpackWARs="true" autoDeploy="true"
          xmlValidation="false" xmlNamespaceAware="false">
          <Context path="" docBase=""  reloadable="true">
            <valve className="org.apache.catalina.valves.RemoteAddrValve" />
          </Context>
    </Host>
    

    4. 多实例启动脚本

    在 a.ttlsa.com、b.ttlsa.com 目录下分别创建启动脚本 tomcat.sh

    4.1 脚本内容 tomcat.sh

    #!/bin/sh
    # AuthName:凉白开
    # Website:http://www.ttlsa.com
    # DateTime:2014-05-04
    # description: 启动tomcat多实例.
    . /etc/init.d/functions
    RETVAL=$?
    # tomcat实例目录
    export CATALINA_BASE="$PWD"
    # tomcat安装目录
    export CATALINA_HOME="/usr/local/tomcat-7.0.50"
    # 可选
    export JVM_OPTIONS="-Xms128m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"
    case "$1" in
    start)
    if [ -f $CATALINA_HOME/bin/startup.sh ];then
    echo $"Start Tomcat"
    $CATALINA_HOME/bin/startup.sh
    fi
    ;;
    stop)
    if [ -f $CATALINA_HOME/bin/shutdown.sh ];then
    echo $"Stop Tomcat"
    $CATALINA_HOME/bin/shutdown.sh
    fi
    ;;
    *)
    echo $"Usage: $0 {start|stop}"
    exit 1
    ;;
    esac
    exit $RETVAL
    

    4.2 启动脚本赋权限

    a.ttlsa.com、b.ttlsa.com 目录下分别执行一下:chmod a+x tomcat.sh

    5. 启动测试

    5.1 启动/关闭 a.ttlsa.com

    cd /usr/local/tomcat/a.ttlsa.com/
    #### 启动
    ./tomcat.sh start
    #### 关闭
    ./tomcat.sh stop
    

    5.1 启动/关闭b.ttlsa.com

    cd /usr/local/tomcat/a.ttlsa.com/
    #### 启动
    ./tomcat.sh start
    #### 关闭
    ./tomcat.sh stop
    

    备注:一定需要 cd 到 tomcat.sh 的当前目录下执行才可以

  • 相关阅读:
    Lesson 2 :
    Session 1 : 笔记
    SpringBoot 3 : 单元测试和开发环境调试
    SpringBoot 2 : 网络配置
    MS leetcode 题目
    研二上末
    时不我待
    Do, I do!
    LeetCode 精选 TOP 面试题
    基于attractor landscape研究疾病发展及药物研发
  • 原文地址:https://www.cnblogs.com/cy-8593/p/12358251.html
Copyright © 2020-2023  润新知