Tomcat安装以及多实例部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat安装以及多实例部署相关的知识,希望对你有一定的参考价值。

1.简介

  Tomcat Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,  ApacheSun 和其他一些公司及个人共同开发而成。Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。

端口8080

2.安装

先安装环境变量jdkapache-tomcatjdk-8u144-linux-x64.rpm apache-tomcat-8.5.20.tar.gz  Tomcat解压后就可以使用)

[[email protected]]# rpm -ivh jdk-8u144-linux-x64.rpm

[[email protected]]# tar xf apache-tomcat-8.5.20.tar.gz -C /usr/local

[[email protected]]# cd /usr/local/

[[email protected]]# ln -sv apache-tomcat-8.5.20/ tomcat   //软连接


为了方便使用我在此写了一个系统脚本(tomcat.sh)

[[email protected]]# vim /etc/init.d/tomcat

添加执行权限并启动:

[[email protected]]# chmod +x /etc/init.d/tomcat

[[email protected]]# chkconfig --add tomcat

[[email protected]]# service tomcat start

技术分享图片

[[email protected]~]# cd /usr/local/tomcat/webapps/             //Tomcat自动部署路径

3.Tomcat多实例部署

我们常有在 JAVA Web 应用部署或依赖 Tomcat 应用中遇到单机多实例的需求,解决方案一般有: 

1、复制 Tomcat 到不同目录,更改 Server.xml 等配置文件; 

2、部署不同应用实例到 webapps 目录下或直接将多项目部署到同一 Tomcat 实例中。 

以此解决多项目部署问题,这种解决思路有以下几个问题: 

1、复制多 Tomcat 难于维护。Tomcat 版本升级或更改配置将变得让维护人员很头疼; 

2、复制多 Tomcat 资源消耗大。 

3、对于多项目同时部署到 Tomcat webapps 目录下的解决,项目与项目间依赖度太高,不方便统一调试或日志跟踪于定位。 

4、如果项目中存在过于多的单例,多项目同时有依赖且部署在同一 webapps 目录下,则可能导致项目无法正常运行或频繁出 BUG 

5、项目复制在同一 webapps 下,对于热加载和热部署也造成了很大的困难。虽然 Tomcat 管理可以实现热部署,但是对于实际线上项目,生成 war 包进行热部署,Tomcat 自带的热部署功能便显得不尽人意。

简单的说,CATALINA_HOME Tomcat的安装目录,CATALINA_BASE Tomcat 的工作目录。如果我们想要运行 Tomcat 多个实例,但是不想安装多个 Tomcat 软件副本。那么我们可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。Tomcat 每个运行实例需要使用自己的 conflogstempwebapps、和 work 目录,因此CATALINA_BASE 就指向这些目录。而其他目录主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME 就指向这些目录。如果我们希望再运行另一个 Tomcat 实例,那么我们可以建立一个目录,把 conflogstempwebapps work 拷贝到该目录下,然后让 CATALINA_BASE指向该目录即可。保证每个实例以下三个端口不同即可。 

(1) 修改 Shutdown 端口(默认为 8005 端口)

(2) 修改 http 访问端口(默认为 8080 端口)

(3) 修改 8009ajp)端口。

部署实例:

[[email protected]~]# service tomcat stop        //先停止Tomcat

[[email protected]~]# cd /usr/local/tomcat/

[[email protected]]# mkdir tomcat{1,2}

[[email protected]]# cp -a conf/ logs/ temp/ webapps/ work/ tomcat1

[[email protected]]# cp -a conf/ logs/ temp/ webapps/ work/ tomcat2

修改子目录 conf/server.xml 

tomcat1 保持默认端口 

tomcat2 修改

[[email protected]]# vim tomcat2/conf/server.xml

修改端口:

SHUTDOWN8006 HTTP8081 AJP8010

写一个shell启动脚本:(tomcat.sh)

[[email protected]]# mv /etc/init.d/tomcat /etc/init.d/tomcat1

export CATALINA_BASE=$CATALINA_HOME改成export CATALINA_BASE=$CATALINA_HOME/tomcat1

[[email protected]]# cp -p /etc/init.d/tomcat1 /etc/init.d/tomcat2

export CATALINA_BASE=$CATALINA_HOME改成export CATALINA_BASE=$CATALINA_HOME/tomcat2

[[email protected]]# chkconfig --add tomcat1

[[email protected]]# chkconfig --add tomcat2

启动:

[[email protected]]# service tomcat1 start

[[email protected]]# service tomcat2 start

日志文件:

[[email protected]]# cd /usr/local/tomcat/tomcat2/logs/

catalina.out这个文件


本文出自 “13382604” 博客,请务必保留此出处http://13392604.blog.51cto.com/13382604/1983754

以上是关于Tomcat安装以及多实例部署的主要内容,如果未能解决你的问题,请参考以下文章

tomcat 多实例部署以及负载均衡配置

Tomcat 多实例部署

tomcat的多实例部署和负载均衡

CentOS6.6从头到尾部署nginx与tomcat多实例 转

单机多实例tomcat 部署

多实例部署和Nginx+Tomcat负载均衡动静分离