优秀的编程知识分享平台

网站首页 > 技术文章 正文

Tomcat9.0 介绍-CATALINA_HOME和 CATALINA_BASE区别

nanyue 2024-08-11 20:37:34 技术文章 7 ℃

准备写一份关于Tomcat9.0的系列教程,工作很多年,从我最初开始使用的Tomcat5.x 到现在的tomcat 9.x,在到使用docker。其实说实话对Tomcat了解的不多,现在回想起来这些年知识的系统化还是很不足的。所以想根据官方文档和自己的经验积累,重新来学习Tomcat。今天写介绍下Tomcat。以及讲下CATALINA_HOME 和CATALINA_BASE区别。估计很多人还搞不清其区别,包括我自己!

java web开发者对于Tomcat肯定不陌生,将写好的servlet小项目,部署到tomcat的webapps目录(如果你用编辑器,都是由编辑器完成),然后在编辑器里面start或者debug,然后http://localhost:8080/ ,就能访问你写的内容。但是你知道你写的程序tomcat怎么跑的?内部逻辑怎么处理的?那么你要关注下后续的文章了,当然你也可以访问官网:http://tomcat.apache.org/tomcat-9.0-doc/introduction.html 去学习。

重要的术语:

首先介绍下一个术语,context,它的意思代表一个web application,也就是web 应用程序。

Tomcat目录结构:

接下来,看下tomcat的目录结构,如下图所示:

其中:

  1. /bin 目录用于Tomcat 的启动,关闭。*.sh 用于linux,*.bat用于windows系统。
  2. /conf 目录用于Tomcat的配置,其中 server.xml是最重要的,它用于配置容器的文件,如配置项目项目的端口号80等。
  3. /logs 目录是Tomcat默认的日志文件,可以通过它查看Tomcat的系统情况,非常有用
  4. /webapps 目录 是你的web应用放到位置,比如我现在将Jpress部署到本地,我会将starter-tomcat-1.0.war包先放到里面,然后通下面的命令解压缩包:命令:
 jar -cvf starter-tomcat-1.0.war 

CATALINA_HOME和 CATALINA_BASE 介绍

  • CATALINA_HOME:代表Tomcat安装的根目录,如我现在的安装的目录:
/Users/yuanzongyu/Documents/develop_trial/apache-tomcat-9.0.13
  • CATALINA_BASE:表示Tomcat实例运行时的根目录,比如你在你的电脑中,想安装几个tomcat的实例,那么可以使用这个属性。
  • 默认CATALINA_BASE和CATALINA_HOME指向相同的目录

我来举个例子说明下: 比如两个项目,由于它们的包可能有不同的,放一起会报错,这个时候你需要另一个Tomcat实例,将冲突的项目单独部署,这个时候用CATALINA_BASE就派上用场了。

CATALINA_BASE实战:

下面我来给大家介绍下如何使用CATALINA_BASE,我们需要找一个目录,然后新建如下图所示的目录:

说明:

  • bin目录 目前里面为空
  • conf目录,将tomcat-9.x 的conf文件拷贝过来,当然可以修改其server.xml 的端口号
  • lib目录,我现在目前为空,可以将项目的lib拷贝到这个里面,不会其他的项目冲突了
  • logs目录,目前里面为空
  • temp目录,目前里面为空
  • webapps目录,可以将项目放到这里
  • work目录, 目前里面为空

设置好后,需要在.bash_profile 里面配置CATALINA_BASE的指向,看下面的代码:

CATALINA_BASE=/Users/yuanzongyu/Documents/develop_trial/apache_tomcat_instans1

将其放到文件的最下方。

最后在apache-tomcat-9.x bin目录中,使用下面的命令启动tomcat:

./catalina.sh run

下面是截图:

最近发表
标签列表