如何以Tomcat多实例方式部署多个项目,以下以实例讲解:
情景:在linux系统部署两个项目video和navigator。
步骤:
1.新建目录:/home/hm/apps/
2.tomcat安装包apache-tomcat-8.0.26.tar.gz解压缩到目录/home/hm/apps/apache-tomcat-8.0.26
3.新建目录/home/hm/apps/tomcat-instances/
3.部署video:
(1)/home/hm/apps/tomcat-instances/下新建目录video
(2)在video目录下新建目录:conf,bin,webapps,logs,work
(3)将/home/hm/apps/apache-tomcat-8.0.26/conf/目录下的配置文件:server.xml, web.xml,tomcat-users.xml这三个配置文件复制到/home/hm/apps/tomcat-instances/video/conf目录下。
修改server.xml中的四个端口:
a.<Server port="${tomcat.server.port}" shutdown="SHUTDOWN">
b.<Connector port="${tomcat.http.port}" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="${tomcat.https.port}" />
c.<Connector port="${tomcat.ajp.port}" protocol="AJP/1.3" redirectPort="${tomcat.https.port}" />
具体端口在启动脚本中设置
(4)在home/hm/apps/tomcat-instances/video/bin/目录下新建启动和停止脚本:start.sh和stop.sh。在启动脚本中设置端口。
start.sh:
#!/bin/bash
export CATALINA_HOME="/home/hm/apps/apache-tomcat-8.0.26"
export CATALINA_BASE="/home/hm/apps/tomcat_instances/video"
export CATALINA_OPTS="-Dtomcat.server.port=8071 -Dtomcat.http.port=8072 -Dtomcat.ajp.port=8073 -Dtomcat.https.port=8074 -Dtomcat.instance.name=video"
export CATALINA_OUT=${CATALINA_BASE}"/logs/catalina.$(date +'%Y-%m-%d').out"
export CATALINA_PID=${CATALINA_BASE}"/tomcat.pid"
rm -rf ${CATALINA_BASE}"/work"
$CATALINA_HOME/bin/catalina.sh start
exit $?
stop.sh:
#!/bin/bash
export CATALINA_HOME="/home/hm/apps/apache-tomcat-8.0.26"
export CATALINA_BASE="/home/hm/apps/tomcat_instances/video"
export JAVA_OPTS="-Dtomcat.server.port=8071"
export CATALINA_PID=$CATALINA_BASE"/tomcat.pid"
$CATALINA_HOME/bin/catalina.sh stop 0 -force
(5) 将video的war包放在webapps目录下
(6)启动和停止服务:在video目录下执行:sh bin/start.sh和sh bin/stop.sh
4.部署navigator
(1)/home/hm/apps/tomcat-instances/下新建目录navigator
(2)在navigator目录下新建目录:conf,bin,webapps,logs,work
(3)将/home/hm/apps/apache-tomcat-8.0.26/conf/目录下的配置文件:server.xml, web.xml,tomcat-users.xml这三个配置文件复制到/home/hm/apps/tomcat-instances/navigator/conf目录下。
修改server.xml中的四个端口:
a.<Server port="${tomcat.server.port}" shutdown="SHUTDOWN">
b.<Connector port="${tomcat.http.port}" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="${tomcat.https.port}" />
c.<Connector port="${tomcat.ajp.port}" protocol="AJP/1.3" redirectPort="${tomcat.https.port}" />
具体端口在启动脚本中设置
(4)在home/hm/apps/tomcat-instances/navigator/bin/目录下新建启动和停止脚本:start.sh和stop.sh。在启动脚本中设置端口。
start.sh:
#!/bin/bash
export CATALINA_HOME="/home/hm/apps/apache-tomcat-8.0.26"
export CATALINA_BASE="/home/hm/apps/tomcat_instances/navigator"
export CATALINA_OPTS="-Dtomcat.server.port=8081 -Dtomcat.http.port=8082 -Dtomcat.ajp.port=8083 -Dtomcat.https.port=8084 -Dtomcat.instance.name=navigator"
export CATALINA_OUT=${CATALINA_BASE}"/logs/catalina.$(date +'%Y-%m-%d').out"
export CATALINA_PID=${CATALINA_BASE}"/tomcat.pid"
rm -rf ${CATALINA_BASE}"/work"
$CATALINA_HOME/bin/catalina.sh start
exit $?
stop.sh:
#!/bin/bash
export CATALINA_HOME="/home/hm/apps/apache-tomcat-8.0.26"
export CATALINA_BASE="/home/hm/apps/tomcat_instances/navigator"
export JAVA_OPTS="-Dtomcat.server.port=8081"
export CATALINA_PID=$CATALINA_BASE"/tomcat.pid"
$CATALINA_HOME/bin/catalina.sh stop 0 -force
(5) 将navigator的war包放在webapps目录下
(6)启动和停止服务:在video目录下执行:sh bin/start.sh和sh bin/stop.sh