前言
单机多实例部署tomcat, 可以充分利用系统资源, 周期性地更新Tomcat,使用最新版的Tomcat, 统一管理,让Tomcat版本统一, 实例的配置统一.
本文介绍Linux下Tomcat单机多实例的部署步骤.
实现四路
1、Tomcat运行时,系统会从conf及webapps目录中读取配置文件,并且写入logs、temp和work目录中
2、一些jar文件和class文件需要从公共目录例如lib/中加载,只需要加载一次就可以。
3、为了多个实例能同时运行,每一个Tomcat实例必须有自己的目录集
传统实现方式:简单的复制出一个新的Tomcat目录后改一下端口
缺点:
1、资源浪费,公用资源被多次加载,造成在内存中不必要的重用
2、针对不同web服务做配置能做但是异常麻烦
3、对Tomcat进行版本升级时能做但是异常麻烦,每个目录都需要替换,不必要的大量工作
实现步骤
下载并解压安装包到目录
cd /usr/local/path/tomcat |
编辑 /etc/profile
文件
sudo vi /etc/profile |
添加Tomcat
export CATALINA_HOME=/usr/local/path/tomcat/apache-tomcat-7.0.85 |
以上代码添加到profile
中
将在 /data/service/
中创建两个实例文件夹
cd /data/service |
tomcat的配置文件复制到实例文件夹内
cd tomcat1/ |
此时
/usr/local/path/tomcat
内剩下文件为: bin/
, lib/
;
两个实例文件夹中剩下的文件为; work/
webapps/
logs/
conf/
创建运行脚本
cd /data/service/tomcat1 |
编辑startup.sh
和shutdown.sh
startup.sh :
!/bin/bash |
shutdown.sh :
rt CATALINA_BASE=/data/service/tomcat-1 |
至此, 单机多实例的tomcat已经基本上配置好了.
运行:
/data/service/tomcat1/bin/startup.sh |
即可.
当然, 要运行两个以上实例的话, 还得配置 server.xml
, 这里就不讨论了.
两个tomcat实例运行起来之后, 可以看到2个tomcat实例的PID是不同的,也就是说对某个实例进行操作是不会影响到另外一个实例的.