zoukankan      html  css  js  c++  java
  • Tomcat单机多实例

    准备:一台CentOS7机器即可,配置中关闭防火墙,或开放防火墙相应端口

    实验效果图:

     

     1、环境首选tomcat的Java环境

     操作实验用的是tomcat8.5.35版本

    实验的开始安装 jdk 包

    rpm -ivh jdk-8u131-linux-x64_.rpm 
    
    rpm -qa|grep jdk
    [root@ localhost ~]# rpm -qa|grep jdk
    jdk1.8.0_131-1.8.0_131-fcs.x86_64

    2、解压tomcat包到指定目录,(实验目录选取  /opt/ )

    tar -zxf apache-tomcat-8.5.35.tar.gz -C /opt/

     由于实验单机多实例,提前把 tomcat1&2 相对文件copy

    mv conf/ webapps/ temp/ logs/ work/ -t /opt/tomcat1
    mv conf/ webapps/ temp/ logs/ work/ -t /opt/tomcat2

    3、配置多实例的相对端口:

    同一个服务器部署不同 Tomcat 要设置不同的端口,不然会报端口冲突,所以我们只需要修改conf/server.xml中的其中前三个端口就行了。

    Server Port:该端口用于监听关闭tomcat的shutdown命令,默认为8005
    Connector HTTP Port:该端口用于监听HTTP的请求,默认为8080
    Connector AJP Port:该端口用于监听AJP( Apache JServ Protocol )协议上的请求,通常用于整合Apache Server等其他HTTP服务器,默认为8009
    Redirect Port:重定向端口,出现在Connector配置中,如果该Connector仅支持非SSL的普通http请求,那么该端口会把 https 的请求转发到这个Redirect Port指定的端口,默认为8443;

    去掉注释的配置文件如下

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <Server port="8005" shutdown="SHUTDOWN">
     3   <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
     4   <!-- Security listener. Documentation at /docs/config/listeners.html
     5   <Listener className="org.apache.catalina.security.SecurityListener" />
     6   -->
     7   <!--APR library loader. Documentation at /docs/apr.html -->
     8   <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
     9   <!-- Prevent memory leaks due to use of particular java/javax APIs-->
    10   <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
    11   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    12   <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
    13 
    14   <GlobalNamingResources>
    15     <Resource name="UserDatabase" auth="Container"
    16               type="org.apache.catalina.UserDatabase"
    17               description="User database that can be updated and saved"
    18               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    19               pathname="conf/tomcat-users.xml" />
    20   </GlobalNamingResources>
    21 
    22   <Service name="Catalina">
    23     <Connector port="8080" protocol="HTTP/1.1"
    24                connectionTimeout="20000"
    25                redirectPort="8443" />
    26     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    27 
    28 
    29     <Engine name="Catalina" defaultHost="localhost">
    30 
    31       <Realm className="org.apache.catalina.realm.LockOutRealm">
    32         <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    33                resourceName="UserDatabase"/>
    34       </Realm>
    35 
    36       <Host name="localhost"  appBase="webapps"
    37             unpackWARs="true" autoDeploy="true">
    38 
    39         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    40                prefix="localhost_access_log" suffix=".txt"
    41                pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    42 
    43       </Host>
    44     </Engine>
    45   </Service>
    46 </Server>
    View Code

    4、编辑tomcat启动脚本

     1 #!/bin/bash
     2 export CATALINA_HOME=/opt/apache-tomcat-8.5.35
     3 export CATALINA_BASE=${1%/}
     4 
     5 echo $CATALINA_BASE
     6 
     7 TOMCAT_ID=`ps aux |grep "java"|grep "Dcatalina.base=$CATALINA_BASE "|grep -v "grep"|awk '{ print $2}'`
     8 
     9 
    10 if [ -n "$TOMCAT_ID" ] ; then
    11 echo "tomcat(${TOMCAT_ITOMCAT_ID}) still running now , please shutdown it firest";
    12     exit 2;
    13 fi
    14 
    15 TOMCAT_START_LOG=`$CATALINA_HOME/bin/startup.sh`
    16 
    17 
    18 if [ "$?" = "0" ]; then
    19     echo "$0 ${1%/} start succeed"
    20 else
    21     echo "$0 ${1%/} start failed"
    22     echo $TOMCAT_START_LOG
    23 fi

    5、编辑tomcat关闭脚本,优化可以做一个重启脚本

     1 [root@ localhost ~]# cat /opt/tomcat_shell/stop_tomcat.sh 
     2 #!/bin/bash
     3 export CATALINA_HOME=/software/apache-tomcat-8.5.35
     4 export CATALINA_BASE=${1%/}
     5  
     6 echo $CATALINA_BASE
     7  
     8 TOMCAT_ID=`ps aux |grep "java"|grep "[D]catalina.base=$CATALINA_BASE "|awk '{ print $2}'`
     9  
    10 if [ -n "$TOMCAT_ID" ] ; then
    11 TOMCAT_STOP_LOG=`$CATALINA_HOME/bin/shutdown.sh`
    12 else
    13     echo "Tomcat instance not found : ${1%/}"
    14     exit
    15  
    16 fi
    17  
    18  
    19 if [ "$?" = "0" ]; then
    20     echo "$0 ${1%/} stop succeed"
    21 else
    22     echo "$0 ${1%/} stop failed"
    23     echo $TOMCAT_STOP_LOG
    24 fi

    6、进入tomcat脚本目录,进行tomcat的启动

    ./start_tomcat.sh /opt/tomcat1
    ./start_tomcat.sh /opt/tomcat2
    [root@ localhost opt]# cd tomcat_shell/
    [root@ localhost tomcat_shell]# ls
    start_tomcat.sh  stop_tomcat.sh
    [root@ localhost tomcat_shell]# ./start_tomcat.sh /opt/tomcat1
    /opt/tomcat1
    ./start_tomcat.sh /opt/tomcat1 start succeed
    [root@ localhost tomcat_shell]# ./start_tomcat.sh /opt/tomcat2
    /opt/tomcat2
    ./start_tomcat.sh /opt/tomcat2 start succeed

     实验完毕

    注意:

    tomcat启动较慢,等待时间稍微较长,会显示网页无法正常运行属于服务启动ing。

  • 相关阅读:
    mysql拼接字符串和过滤字符的方法
    python ichat使用学习记录
    php简单混淆类加密文件如何解密?
    如何读取xml文件,根据xml节点属性查询并输出xml文件
    GoldenDict
    R群体
    samtools中faidx索引格式
    Conservation and the genetics of population重要语录
    图形分类
    电脑网络知识理解
  • 原文地址:https://www.cnblogs.com/security-guard/p/12213804.html
Copyright © 2011-2022 走看看