Tomcat多实例
Tomcat多实例
关闭主站
# bash /usr/local/tomcat/bin/shutdown.sh
准备多实例主目录
mkdir /usr/local/tomcat/instance{1..3}
制作实例工作目录
# cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance1/
# cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance2/
# cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance3/
查看目录结构
[root@www ~]# tree -d -L 2 /usr/local/tomcat/
/usr/local/tomcat/
├── bin
├── instance1
│ ├── conf
│ ├── logs
│ ├── temp
│ └── work
├── instance2
│ ├── conf
│ ├── logs
│ ├── temp
│ └── work
├── instance3
│ ├── conf
│ ├── logs
│ ├── temp
│ └── work
└── lib
修改端口
将web配置文件拷贝三份。分别修改为不同端口
# vim /usr/local/tomcat/instance1/conf/server.xml
1.
服务端口 8080 替换成 8081
修改前
<!-- <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> -->
修改后
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2.
<!-- <Server port="8005" shutdown="SHUTDOWN"> -->
程序工作端口:8005替换成 8091
<Server port="8091" shutdown="SHUTDOWN">
3.
appBase="webapps"
网站目录:webapps 替换成 另一个目录
appBase="/webapps"
cp /usr/local/tomcat/instance1/conf/server.xml /usr/local/tomcat/instance2/conf/
1.
<Connector port="8081" protocol="HTTP/1.1"
服务端口 替换成 8082
<Connector port="8082" protocol="HTTP/1.1"
2.
<Server port="8091" shutdown="SHUTDOWN">
程序工作端口 替换成 8092
<Server port="8092" shutdown="SHUTDOWN">
cp /usr/local/tomcat/instance1/conf/server.xml /usr/local/tomcat/instance3/conf/
1.
<Connector port="8081" protocol="HTTP/1.1"
替换成
<Connector port="8083" protocol="HTTP/1.1"
2.
<Server port="8091" shutdown="SHUTDOWN">
替换成
<Server port="8093" shutdown="SHUTDOWN">
启动脚本
# vim /usr/local/tomcat/instance1/ins1.sh
functions系统自带脚本。功能函数
#!/bin/bash
#instance1
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance1"
case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
export JAVA_OPTS='-Xms64m -Xmx128m'
# cp /usr/local/tomcat/instance1/ins1.sh /usr/local/tomcat/instance2/ins2.sh
#!/bin/bash
#instance2 #####
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance2" #####
case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
# cp /usr/local/tomcat/instance1/ins1.sh /usr/local/tomcat/instance3/ins3.sh
#!/bin/bash
#instance3
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance3"
case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
export JAVA_OPTS='-Xms64m -Xmx128m'
赋权
# chmod +x /usr/local/tomcat/instance1/ins1.sh
# chmod +x /usr/local/tomcat/instance2/ins2.sh
# chmod +x /usr/local/tomcat/instance3/ins3.sh
网站源码
# mkdir /webapps
cp -r /usr/local/tomcat/webapps/ROOT/ /webapps/
启动
# /usr/local/tomcat/instance1/ins1.sh start
# /usr/local/tomcat/instance2/ins2.sh start
# /usr/local/tomcat/instance3/ins3.sh start
等5秒
测试
# netstat -antp | grep 8081
8082
8083
8091
8092
8093
浏览
http://192.168.0.104:8081
http://192.168.0.104:8082
http://192.168.0.104:8083