Tomcat 多实例

一、Tomcat 多实例

1、概念:

Tomcat 多实例是指在同一台服务器上运行多个独立的 Tomcat 服务器实例。它们可以同时运行在同一台物理服务器或虚拟服务器上,但它们彼此之间是相互独立的,有各自的配置、应用程序和资源。

2、配置:

(1) 关闭 Tomcat:

bash /usr/local/tomcat/bin/shutdown.sh

在配置Tomcat之前关闭主站的主要原因是为了确保配置更改能够正确生效且不会引发问题。

(2) 准备多实例目录:

① 创建目录:

mkdir  /usr/local/tomcat/instance{1..3}

② 将 /usr/local/tomcat/ 目录下的 conf、logs、temp 和 work 这四个子目录及其内容复制到实例目录中:

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/

(3) 修改端口

Tomcat 多实例的配置中,修改端口是为了确保每个 Tomcat 实例在同一台服务器上运行时能够使用不同的网络端口,避免端口冲突,同时可以将这些不同的实例隔离开。

① 修改实例1的端口配置:

vim /usr/local/tomcat/instance1/conf/server.xml

● 修改服务端口:8080 → 8081

● 修改程序端口:8005 → 8091

● 修改网站目录:

appBase:定义了虚拟主机将从哪个目录加载部署的Web应用程序。

② 修改实例2的端口配置:

将实例1的web配置文件拷贝给实例2:

cp  /usr/local/tomcat/instance1/conf/server.xml  /usr/local/tomcat/instance2/conf/

● 修改服务端口:8081 → 8082

● 修改程序端口:8091 → 8092

示例2与示例3的网站主目录也是 /webapps

③ 修改示例3的端口配置:

将实例1的web配置文件拷贝给实例3:

cp  /usr/local/tomcat/instance1/conf/server.xml  /usr/local/tomcat/instance3/conf/

服务端口:8081 → 8083 ;程序端口:8091 → 8093

(4) 编写启动脚本:

① 编写实例1的脚本:
#!/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'

② 将实例1的启动脚本拷贝给实例2、3:

cp  /usr/local/tomcat/instance1/ins1.sh  /usr/local/tomcat/instance2/ins2.sh

cp  /usr/local/tomcat/instance1/ins1.sh  /usr/local/tomcat/instance3/ins3.sh

拷贝后记得修改对应的 CATALINA_BASE 路径:

③ 给脚本授权:

chmod  +x  /usr/local/tomcat/instance1/ins1.sh  /usr/local/tomcat/instance2/ins2.sh  /usr/local/tomcat/instance3/ins3.sh

(5) 准备网站源码:

mkdir  /webapps/

cp  -r  /usr/local/tomcat/webapps/ROOT/  /webapps/

(6) 启动脚本并测试:

/usr/local/tomcat/instance1/ins1.sh  start

/usr/local/tomcat/instance2/ins2.sh  start

/usr/local/tomcat/instance3/ins3.sh  start

二、JVM 常用分析工具

1、jps

jps(Java Virtual Machine Process Status Tool)是Java开发工具包(JDK)提供的一个命令行工具,jps 通常用于查看和管理Java应用程序的运行时进程。

语法:

jps:列出正在运行的Java进程的PID和主类名。

jps -l:列出正在运行的Java进程的PID和完整的主类名(包括包路径)。

jps -m:除了PID和主类名外,还显示传递给main方法的参数。

jps -v:显示传递给java命令的所有JVM参数。

jps -q:只显示PID,不显示主类名或参数。

2、jinfo

jinfo 是Java Development Kit(JDK)提供的一个命令行工具,用于查看和修改正在运行的Java进程的Java虚拟机(JVM)配置参数。

3、jstack

jstack 是Java Development Kit(JDK)提供的一个命令行工具,用来观察 jvm 中当前所有线程的运行情况和线程当前状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值