tomcat单机多实例
多个应用放在同一个tomcat中,启动关闭都是同时,不能独立,不方便。
解决方案:
1.多tomcat
2.单tomcat多示例
1、多tomcat
拷贝多个tomcat,修改端口,即可分别启动应用
每次都拷贝一个tomcat太麻烦,我们来实现单机多实例
2、单tomcat多示例
1.1 正常部署一个tomcat
[linlq@node-1 tomcat7]$ ll
total 116
drwxrwxrwx 2 linlq linlq 4096 Oct 9 16:40 bin
drwxrwxrwx 3 linlq linlq 4096 Oct 9 14:15 conf
drwxrwxrwx 2 linlq linlq 4096 Sep 26 10:46 lib
-rwxrwxrwx 1 linlq linlq 57092 Sep 1 03:53 LICENSE
drwxrwxrwx 2 linlq linlq 4096 Oct 9 11:21 logs
-rwxrwxrwx 1 linlq linlq 1723 Sep 1 03:53 NOTICE
-rwxrwxrwx 1 linlq linlq 7063 Sep 1 03:53 RELEASE-NOTES
-rwxrwxrwx 1 linlq linlq 15946 Sep 1 03:53 RUNNING.txt
drwxrwxrwx 4 linlq linlq 4096 Sep 26 15:23 temp
drwxrwxrwx 8 linlq linlq 4096 Oct 9 16:26 webapps
drwxrwxrwx 3 linlq linlq 4096 Sep 26 10:46 work
1.2 多实例设置
tomcat同级目录下新建多实例文件夹tomcat-all
[linlq@node-1 test]$ mkdir tomcat-all
[linlq@node-1 test]$ ll
drwxrwxrwx 2 linlq linlq 4096 Oct 9 16:40 tomcat7
drwxrwxrwx 3 linlq linlq 4096 Oct 9 14:15 tomcat-all
tomcat-all下可建多个实例文件夹
[linlq@node-1 tomcat-all]$ ll
drwxrwxrwx 2 linlq linlq 4096 Oct 9 16:40 web1
drwxrwxrwx 3 linlq linlq 4096 Oct 9 14:15 web2
拷贝conf,建立其他文件夹
[linlq@node-1 tomcat-all]$cd web1
[linlq@node-1 web1]$cp -a /home/test/tomcat7/conf ./conf
[linlq@node-1 web1]$mkdir common logs temp server shared webapps work
修改端口:conf/server.xml
<Server port="9002" shutdown="SHUTDOWN">
<Connector port="80" protocol="HTTP/1.1"/>
<Connector port="9003" protocol="AJP/1.3" redirectPort="8443" />
web2参照web1,端口不能一样。
1.3 部署应用
分别在web1和web2中放入应用
在tomcat-all目录编写脚本文件start_web1.sh
#!/bin/sh
export CATALINA_HOME=/home/test/tomcat7
export CATALINA_BASE=/home/test/tomcat-all/web1
cd $CATALINA_HOME
./bin/catalina.sh $1
同理产生start_web2.sh,并授权运行
[linlq@node-1 tomcat-all]$ ll
total 16
drwxrwxr-x 10 linlq linlq 4096 Oct 9 16:59 web1
drwxrwxr-x 10 linlq linlq 4096 Oct 9 16:59 web2
-rwxrwxr-x 1 linlq linlq 157 Oct 9 17:39 start_web1.sh
-rwxrwxr-x 1 linlq linlq 156 Oct 9 17:24 start_web2.sh
1.4 启动多应用测试
都启动
[linlq@node-1 tomcat-all]$./start_web1.sh start
[linlq@node-1 tomcat-all]$./start_web2.sh start
查看日志,都正常启动,也都能正常访问
[linlq@node-1 tomcat-all]$tail -f ./web1/logs/catalina.out
[linlq@node-1 tomcat-all]$tail -f ./web2/logs/catalina.out
关闭web1
[linlq@node-1 tomcat-all]$./start_web1.sh stop
web1不能访问,web2正常。相互独立,不会互相影响