-
2016-07-22 23:39:19
原文链接:http://blog.csdn.net/xyang81/article/details/51997053
当一个进程的线程超过500个的话,那么这个进程的运行效率会变得很低。因为一个进程产生过多的线程,CPU资源会浪费在线程间切换过程当中。但当服务器配置很高的情况下,如:32G内存,16核的CPU。这样一台高配的机器上只装一个Tomcat实例,会有点浪费。其实我们可以根据服务器的硬件配置,配置多个Tomcat实例,充分利用硬件的资源。你第一时间可能会想到,直接下载多份Tomcat安装包,直接解压,改下端口跑起来不就可以了? 这样也是可以的,但不好维护。假设你在一台机器上安装了5个Tomcat实例,日后要升级Tomcat时,你需要将新版本的tomcat复制并覆盖掉旧的5个tomcat安装程序和配置,所以还是挺麻烦的。下面介绍多个Tomcat实例共享同一个安装包的配置方法。
安装环境
操作系统:CentOS7 64位 Mini版
JDK:1.8,安装目录:/opt/jdk1.8
Tomcat:Tomcat8.0.35,安装目录:/opt/apache-tomcat-8.0.35
配置3个Tomcat实例组件一个集群:
/opt/tomcat_instance/tomcat1
/opt/tomcat_instance/tomcat2
/opt/tomcat_instance/tomcat3安装步聚
1> 下载Tomcat安装包并解压,目录结构如下:
drwxr-xr-x. 3 root root 4096 5月 26 01:41 bin drwxr-xr-x. 3 root root 4096 6月 28 16:14 conf drwxr-xr-x. 2 root root 4096 5月 25 22:12 lib drwxr-xr-x. 2 root root 4096 6月 28 15:48 logs drwxr-xr-x. 2 root root 4096 5月 25 22:12 temp drwxr-xr-x. 7 root root 4096 5月 25 22:14 webapps drwxr-xr-x. 3 root root 4096 5月 12 05:57 work
2> 在/opt/tomcat_instance下分别创建3个实例的目录:
shell> mkdir -p /opt/tomcat_instance/tomcat1 shell> mkdir -p /opt/tomcat_instance/tomcat2 shell> mkdir -p /opt/tomcat_instance/tomcat3
3> 拷贝tomcat安装目录下的conf目录分别放入3个实例目录中
shell> copy -R /opt/apache-tomcat-8.0.35/conf /opt/tomcat_instance/tomcat1/ shell> copy -R /opt/apache-tomcat-8.0.35/conf /opt/tomcat_instance/tomcat2/ shell> copy -R /opt/apache-tomcat-8.0.35/conf /opt/tomcat_instance/tomcat3/
4> 在tomcat实例下创建实例启动和停止脚本
启动和停止脚本放到tomcat实例的bin目录下
a) 启动脚本
shell> mkdir -p /opt/tomcat_instance/tomcat[1-4]/bin shell> touch startup.sh shell> chown +x startup.sh
将以下脚本拷贝到startup.sh文件中,注意修改
CATALINA_BASE
指向的tomcat实例路径:#!/bin/bash export JRE_HOME=/opt/jdk1.8/jre export CATALINA_HOME=/opt/tomcat8 export CATALINA_BASE="/opt/tomcat_instance/tomcat1" export CATALINA_TMPDIR="$CATALINA_BASE/temp" export CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid" export JAVA_OPTS="-server -Xms1024m -Xmx1024m -Djava.awt.headless=true -Dtomcat.name=tomcat1" #创建logs目录 if [ ! -d "$CATALINA_BASE/logs" ]; then mkdir $CATALINA_BASE/logs fi #创建temp目录 if [ ! -d "$CATALINA_BASE/temp" ]; then mkdir $CATALINA_BASE/temp fi # 调用tomcat启动脚本 bash $CATALINA_HOME/bin/startup.sh "$@"
b) 停止脚本
shell> touch shutdown.sh shell> chown +x shutdown.sh shell> vim shutdown.sh
拷贝以下脚本到shutdown.sh文件中:
#!/bin/bash export JRE_HOME=/opt/jdk1.8/jre export CATALINA_HOME=/opt/tomcat8 export CATALINA_BASE="/opt/tomcat_instance/tomcat1" export CATALINA_TMPDIR="$CATALINA_BASE/temp" export CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid" bash $CATALINA_HOME/bin/shutdown.sh "$@"
5、修改每个tomcat实例中server.xml中的端口
<Server port="8005" shutdown="SHUTDOWN"> ... <Service name="Catalina"> ... <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ... <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> ... <Engine name="Catalina" defaultHost="localhost"> ... <Host name="localhost" appBase="/opt/deploy/webapps" unpackWARs="true" autoDeploy="true"> ... </Host> </Engine> </Service> </Server>
上面是裁剪过后的server.xml,分别修改以上三个端口(Server、HTTP、AJP),不要和其它实例的端口或系统已经占用的端口发生冲突。
6、创建实例部署应用的目录
shell> mkdir -p /opt/deploy/webapps
所有实例的app默认都部署到/opt/deploy/webapps目录下,注意修改server.xml中Host节点的appBase属性的值。
7、启动服务
shell> /opt/tomcat_instance/tomcat1/bin/startup.sh shell> /opt/tomcat_instance/tomcat2/bin/startup.sh shell> /opt/tomcat_instance/tomcat2/bin/startup.sh
服务器启动之后,会分别在相应的实例目录下生成logs、temp、work和webapps目录。另外也可以在实例目录下创建lib目录,用于存放app的jar。现在来看实例的安装目录,就和tomcat的安装包解压后的目录结构一样了,但所有实例共享同一套tomcat安装程序的bin和lib。后面如果需要升级tomcat或修改tomcat脚本的相关配置,只需要更新这一套程序就行,也方便了日后的维护。tomcat1实例的目录结构如下:
更多相关内容 -
Linux下tomcat多实例配置
2021-01-09 15:41:58Linux下tomcat多实例配置成功。步骤如下: 1. 下载一个免安装版本的tomcat,例如:apache-tomcat-7.0.59.tar.gz。解压:tar xvf pache-tomcat-7.0.59.tar.gz. 解压后的文件夹中大致有7个文件夹: bin (运行... -
Linux 单个tomcat多实例部署shell脚本详解
2021-01-20 15:35:22Linux 单个tomcat多实例部署shell脚本详解 步骤: 1. 下载tomcat,解压安装 2.将tomcat下的webapps,conf,temp等目录分别拷至根目录www下A,B,C目录下 3.新建如下脚本restart_tomcat.sh 4.使用restart_tomcat.sh A/B/C ... -
linux服务器下配置多tomcat实现实例
2021-01-11 04:54:49linux服务器下配置多tomcat 车辆交易用的系统模块,正在做。老板要看看,以便车城那边的人提出意见。于是在服务器上再次增加一个tomcat。 以前是配置过的,配置过程其实很简单,这次太大意了,找了半天问题。 首先是... -
Tomcat详解(三)——tomcat多实例
2022-03-03 09:14:30今天继续给大家介绍Linux运维相关知识,本文主要内容是tomcat的多实例配置。 一、实战背景 二、Tomcat多实例配置 三、效果检验今天继续给大家介绍Linux运维相关知识,本文主要内容是tomcat的多实例配置。
一、实战背景
Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,互不影响。多实例与虚拟主机不同,虚拟主机的本质是在一个服务下有多个相对独立的目录,但是多实例却存在了多个服务。
今天,我们就来实现以下Tomcat的多实例配置,实验环境如下:
实验IP:云服务器123.57.216.15
Tomcat实例1开放端口:8080、8005、8009
Tomcat实例2开放端口:8081、8006、8010
注意,由于我们此次使用的Tomcat版本较新,因此,在默认情况下,8009(8010)端口不会开启!二、Tomcat多实例配置
接下来,我们就进行Tomcat的多实例实战配置。首先,在设备上安装JAVA环境,在上传JAVA安装包并解压后,在/etc/profile文件中添加相关路径即可。其次,上传并解压Tomcat压缩包,由于Tomcat是绿色软件,所以直接将其解压后即可使用。由于这些内容在前文Tomcat详解(二)——tomcat安装与配置已经介绍过了,因此在这里就不过多赘述了。对上述配置还有疑惑的同学,可以查阅该篇文章自行学习。
在配置好一台Tomcat实例后,我们就可以根据这一台Tomcat实例去配置另一台,执行命令:mkdir -p /usr/local/tomcat2 cp -a /usr/local/tomcat/* /usr/local/tomcat2
完成复制后,进入到新的Tomcat实例中,在conf目录下,打开server.xml,找到监听8080和8005处的配置,并将其修改为8081和8006,修改完成后的Tomcat配置如下图所示:
在上述配置全部修改完毕后,我们分别进入到两个Tomcat目录下,启动startup.sh脚本,开启Tomcat服务,如下所示:
三、效果检验
最后,让我们来检验一下刚才配置的结果。首先,查看一下系统监听的端口号,发现系统监听了8080、8081、8005和8006四个端口,如下所示:
其次,我们尝试访问8080和8081端口,发现可以正常访问,如下所示:
综上所述,我们的Tomcat多实例配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200 -
Tomcat多实例
2021-11-16 09:16:09一、tomcat多实例 多实例就是在一台服务器上同时开启多个不同的服务端口,同时运行多个服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务 1.安装jdk环境 2.添加环境变量 [root@localhost ...目录
一、tomcat多实例
多实例就是在一台服务器上同时开启多个不同的服务端口,同时运行多个服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务
1.安装jdk环境
2.添加环境变量
[root@localhost jdk1.8.0_201-amd64]# vim /etc/profile
3.导入tomcat安装包
4.修改tomcat2中的主配置文件
[root@localhost tomcat]# vim tomcat2/conf/server.xml
5. 修改启动脚本和关闭脚本,并开启服务
[root@localhost tomcat1]# vim /usr/local/tomcat/tomcat1/bin/startup.sh
[root@localhost tomcat1]# vim /usr/local/tomcat/tomcat1/bin/shutdown.sh[root@localhost tomcat1]# vim /usr/local/tomcat/tomcat2/bin/startup.sh
[root@localhost tomcat1]# vim /usr/local/tomcat/tomcat2/bin/shutdown.sh6.验证
-
tomcat多实例部署
2022-01-19 14:56:09这里写目录标题tomcat多实例部署Tomcat多实例部署关闭防火墙和selinux将安装Tomcat所需软件包传到/opt目录下安装JDK环境设置JDK环境变量安装启动Tomcat配置tomcat环境变量修改tomcat2中的server.xml文件,要求各...这里写目录标题
tomcat多实例部署
Tomcat多实例部署
关闭防火墙和selinux
systemctl stop firewalld setenforce 0 systemctl disable firewalld
将安装Tomcat所需软件包传到/opt目录下
安装JDK环境
cd /opt rpm -qpl jdk-8u201-linux-x64.rpm rpm -ivh jdk-8u201-linux-x64.rpm java -version
设置JDK环境变量
vim /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH source /etc/profile java -version
安装启动Tomcat
cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mkdir /usr/local/tomcat mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1 cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2
配置tomcat环境变量
vim /etc/profile.d/tomcat.sh #tomcat1 export CATALINA_HOME1=/usr/local/tomcat/tomcat1 export CATALINA_BASE1=/usr/local/tomcat/tomcat1 export TOMCAT_HOME1=/usr/local/tomcat/tomcat1 #tomcat2 export CATALINA_HOME2=/usr/local/tomcat/tomcat2 export CATALINA_BASE2=/usr/local/tomcat/tomcat2 export TOMCAT_HOME2=/usr/local/tomcat/tomcat2 source /etc/profile.d/tomcat.sh
修改tomcat2中的server.xml文件,要求各tomcat实例配置不能有重复的端口号
1.vim /usr/local/tomcat/tomcat2/conf/server.xml 2.<Server port="8006" shutdown="SHUTDOWN"> #22行,修改Server port,默认为8005 -> 修改为8006 3.<Connector port="8081" protocol="HTTP/1.1" #69行,修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081 4.<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" /> #116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010
修改各tomcat实例中的startup.sh和shutdown.sh文件,添加tomcat环境变量
1.#tomcat1的startup.sh vim /usr/local/tomcat/tomcat1/bin/startup.sh --------------------------------------------------- #Start Script for the CATALINA Server --------------------------------------------------- ##添加以下内容 export CATALINA_BASE=$CATALINA_BASE1 export CATALINA_HOME=$CATALINA_HOME1 export TOMCAT_HOME=$TOMCAT_HOME1 2..#tomcat1的shuutdown.sh vim /usr/local/tomcat/tomcat1/bin/shutdown.sh --------------------------------------------------- # Stop script for the CATALINA Server --------------------------------------------------- export CATALINA_BASE=$CATALINA_BASE1 export CATALINA_HOME=$CATALINA_HOME1 export TOMCAT_HOME=$TOMCAT_HOME1 3.#tomcat2的startup.sh vim /usr/local/tomcat/tomcat2/bin/startup.sh --------------------------------------------------- # Start Script for the CATALINA Server --------------------------------------------------- export CATALINA_BASE=$CATALINA_BASE2 export CATALINA_HOME=$CATALINA_HOME2 export TOMCAT_HOME=$TOMCAT_HOME2 4.#tomcat2的shuutdown.sh vim /usr/local/tomcat/tomcat2/bin/shutdown.sh --------------------------------------------------- # Stop script for the CATALINA Server --------------------------------------------------- export CATALINA_BASE=$CATALINA_BASE2 export CATALINA_HOME=$CATALINA_HOME2 export TOMCAT_HOME=$TOMCAT_HOME2
启动各tomcat中的/bin/startup.sh
/usr/local/tomcat/tomcat1/bin/startup.sh /usr/local/tomcat/tomcat2/bin/startup.sh netstat -natp | grep java
浏览器访问测试
http://192.168.80.11:8080 http://192.168.80.11:8081
-
tomcat单机多实例
2019-02-26 21:51:45首先要回答一个问题,为什么要用单机多实例? 在不宕机的情况下,webapps里面存在多个项目,可能由于其中一个项目过度使用内存或者其他不确定的因素使得tomcat挂了,那么同一tomcat下的项目也会一同挂了;而... -
zabbix监控tomcat多实例自动化脚本配置
2016-02-21 10:49:58zabbix执行脚本自动化发现监控tomcat多实例 -
tomcat多实例配置
2010-01-11 15:55:00原文地址:http://azeditech.com/tomcat/multiple-tomcat-instances.htmlRunning multiple Tomcat instances on one serverHeres a brief step by step guide to running more than one instance of Tomcat on a sin -
Linux Tomcat 多实例与负载均衡
2021-11-16 16:37:04Linux Tomcat 多实例与负载均衡 一、Tomcat 多实例 二、Nginx + Tomcat 负载均衡、动静分离 部署 Nginx 负载均衡器 Linux Tomcat 多实例与负载均衡 一、Tomcat 多实例 安装 JDK 在部署 Tomcat 之前必须安装好... -
tomcat单机多实例配置实战
2015-04-13 15:40:03今天全称演示单台服务器如何配置多个tomcat实例。 环境 tomcat:/usr/local/tomcat-7.0.50 a.ttlsa.com 站点程序:/data/site/a.ttlsa.com 端口:8080 b.ttlsa.com 站点程序:/data/site/b.ttlsa.c -
Nginx配合Apache或Tomcat的动静分离基本配置实例
2020-09-30 14:20:26主要介绍了Nginx配合Apache或Tomcat的动静分离基本配置实例,实际上Nginx专门负责静态和反向代理是主流服务器配置方案,需要的朋友可以参考下 -
tomcat 多实例,日志保留期限
2020-11-09 12:09:501,tomcat: 作为Windows服务进行管理 http://tomcat.apache.org/tomcat-8.0-doc/windows-service-howto.html 1, 递归创建目录: apache-tomcat-8-muti-instance/instances/instance1 2 , 解压tomcat: 把bin, lib 放... -
Linux系统下Tomcat多实例安装及配置说明
2017-06-12 18:23:55Linux系统下Tomcat多实例安装及配置说明概述Tomcat不是一个完整意义上的Jave EE(j2ee)服务器,因为它没有提供完整的Java EE企业应用平台的API。但是由于Tomcat遵循apache开源协议,并且对当前Java开发框架开源组件... -
windows下nginx+tomcat配置负载均衡的方法
2021-01-10 01:47:30目标:Nginx做为HttpServer,连接多个tomcat应用实例,进行负载均衡。 注:本例程以一台机器为例子,即同一台机器上装一个nginx和2个Tomcat且安装了JDK1.7。 1、安装Nginx 安装Nginx教程 2、配置两个Tomcat 在本机上... -
Nginx+tomcat配置集群负载均衡实例
2014-11-20 10:46:57Nginx+tomcat配置集群负载均衡实现动静分离实例 -
jdk,tomcat配置实例
2011-09-06 12:19:56jdk,tomcat配置实例 可以下载 -
MyEclipse配置多个Tomcat
2012-08-14 21:57:07参考了网上一些资料,经过自己亲自测试,总结了一个文档,图文并茂,同时,配置好了两个Tomcat6.X,直接可用。 -
Tomcat - 多个实例
2017-04-01 21:31:34配置conf 目录下的 server.xml,需要修改三处。第一处:第二处:第三处:当有多个 tomcat 在同一机器启动时,需要修改这三处端口。设置 bin 目录下的 startup.bat。结果 -
tomcat 多部署实现
2018-05-31 16:05:39单tomcat 实例下 部署多应用程序实现。 实现简单,容易上手。。。 -
maven+tomcat+eclipse配置实例
2014-03-06 17:55:08maven+tomcat+eclipse配置实例 -
使用systemctl管理tomcat多实例
2019-04-19 16:22:201,环境说明。 主机系统:CentOS Linux release 7.3.1611 (Core) jdk版本:java version “1.8.0_192” ...2,为tomcat配置pid。 $ vim /usr/local/tomcat/bin/catalina.sh 在111行添加如下内容: CAT... -
tomcat+apache集群配置实例
2019-05-29 02:19:11NULL 博文链接:https://tywo45.iteye.com/blog/1113285 -
NGINX+Tomcat多实例和负载均衡
2021-11-16 09:01:49修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号 修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号 浏览器访问测试 二.负载均衡 1.nginx部署 ... -
nginx+tomcat 通过域名访问项目的实例
2020-09-29 19:54:44主要介绍了nginx+tomcat 通过域名访问项目的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧