• Tomcat单库多实例部署


    下载最新的tomcat文件,并解压,假设目录为:/home/user/apps/tomcat

    bin
    conf
    lib
    LICENSE
    logs
    NOTICE
    RELEASE-NOTES
    RUNNING.txt
    temp
    webapps
    work


    然后新建一个目录:/home/user/apps/tomcat_instances,其下结构为:

    share (共享脚本) :这个下面只有一个inc.sh文件,设置一些基本的环境变量
    job_server(一个tomcat实例,可以建n多个)

    inc.sh

    #!/bin/echo Warining,this library should be sourced!
    export CATALINA_HOME=/home/haozu/apps/tomcat
    export CATALINA_BASE=$(cd "`dirname $0`/../";pwd)

    job_server 下的目录结构如下:

    bin(手动创建)
    conf (可以复制tomcat目录的conf),可以删除tomcat-users.xml 文件,直接将tomcat目录下的conf下的tomcat-users.xml软链过来
    logs (手动创建)
    temp(手动创建)

    关键要处理的是bin目录下的一些文件的设置(setenv.sh,catalina.sh,inc.sh):
    setenv.sh 用于tomcat启动的参数配置(当前目录下,会在tomcat启动时自动调用)

    #!/bin/sh
    export CATALINA_OPTS="-Xmx350M -Xms350M -XX:PermSize=64M -XX:MaxPermSize=64m -XX:+UseParallelGC -Dlog4j.configuration=file:///home/www/config/java/scheduler_log4j.xml"
    export CATALINA_PID="$CATALINA_BASE/logs/catalina.pid"

    将share目录下的inc.sh 做一个软链到当前目录(bin)下

    catalina.sh

    #!/bin/bash
    . $(cd "`dirname $0`/";pwd)/inc.sh
    #initial some directory
    logs_dir="$CATALINA_BASE/logs"
    tmp_dir="$CATALINA_BASE/temp"
    webapp_dir="$CATALINA_BASE/webapps"
    test ! -d "$logs_dir" && mkdir "$logs_dir" 
    test ! -d "$tmp_dir" && mkdir "$tmp_dir"
    test ! -d "$webapp_dir" && mkdir "$webapp_dir"
    $CATALINA_HOME/bin/catalina.sh $*

     设置好conf/server.xml,文件,就可以在job_server目录下的启动tomcat了:

    ./bin/catalina.sh start

  • 相关阅读:
    同一个String在使用不同的charset编码的时候equals仍然是返回true吗
    request的生存期只限于服务器跳转
    flex 客户端缓存SharedObject
    flex NaN
    oracle 任务使用
    oracle 数据泵
    datagrid 用法
    Windows系统中path环境变量详解
    [转]eclipse导入V7包出现错误解决办法
    由多线程引起的map取值为null的分析
  • 原文地址:https://www.cnblogs.com/xiazh/p/2792673.html
Copyright © 2020-2023  润新知