介绍
Apache Tomcat是下面多个规范的一个开源实现:Jakarta Servlet、Jakarta Server Pages、Jakarta Expression Language、Jakarta WebSocket、Jakarta Annotations 和 Jakarta Authentication。这些规范是 Jakarta EE 平台的一部分。
Jakarta EE 平台是Java EE平台的演化。Tomcat 10和以后版本实现的规范是 Jakarta EE 的一部分,Tomcat 9及以前版本实现的规范是Java EE的一部分。
Apache Tomcat官网
Tomcat版本选择
https://tomcat.apache.org/whichversion.html
版本下载、安装
例如,要在win7下安装64位的10.1.13版本:
下载到本地的压缩包apache-tomcat-10.1.13-windows-x64.zip。解压到某个目录下,例如D盘,不用安装。
目录结构
解压后的目录结构:
运行Tomcat前,建议先通读下该目录下面的RUNNING.txt。
bin子目录下面存放启动、停止和其它的脚本:
conf子目录下存放配置和相关的DTD文件,其中最重要的文件是server.xml,它是容器的主要配置文件:
lib子目录下存放库文件:
logs子目录是默认存放日志的目录:
webapps子目录是存放web应用的目录:
work子目录是临时工作目录。
temp子目录是Java虚拟机用来存放临时文件的目录。
对JRE版本的要求
对于Tomcat 10.1.x版本,需要JRE 11或以后版本。
设置环境变量
CATALINA_HOME(必须)
CATALINA_HOME环境变量是必须的 ,设置为Tomcat二进制发布包的根路径,例如D:\apache-tomcat-10.1.13:
CATALINA_BASE(可选)
CATALINA_BASE环境变量是可选的,默认等于CATALINA_HOME。如果想在一台机器上运行多个Tomcat实例,可以配置CATALINA_BASE环境变量。使用CATALINA_BASE环境变量有如下好处:
- 更加方便管理Tomcat版本的升级。使用同一个CATALINA_HOME环境变量的多个Tomcat实例可以可以共享一套.jar文件和二进制文件,针对这些文件的升级,对所有Tomcat实例都生效。
- 避免相同的静态.jar文件的重复。
- 可能共享某些设置,例如setenv脚本、或者bat脚本。
JRE_HOME 或者JAVA_HOME(必须)
设置启动Tomcat需要的Java运行时环境或者JDK的位置,这个是必须设置的。其中JRE_HOME设置Java运行时环境,JAVA_HOME设置JDK的位置。
如果同时设置了JRE_HOME 和 JAVA_HOME,Tomcat会使用JRE_HOME。
例如设置JAVA_HOME:
其它环境变量(可选)
除了上面介绍的几个环境变量,其它可选的环境变量可以查看catalina.bat或者catalina.sh文件上面的注释部分。
启动Tomcat
说明
默认使用8080端口来启动,这个端口是在server.xml文件中配置的:
在windows下,可以通过下面的一种方式来启动Tomcat:
- %CATALINA_HOME%\bin\startup.bat
- 或者 %CATALINA_HOME%\bin\catalina.bat start
在*nix下,可以通过下面的一种方式来启动Tomcat:
- $CATALINA_HOME/bin/startup.sh
- 或者$CATALINA_HOME/bin/catalina.sh start
举例:用startup.bat启动Tomcat
启动后,访问http://localhost:8080/可以访问Tomcat的默认应用:
举例:用catalina.bat start启动Tomcat
停止Tomcat
说明
在windows下,可以通过下面的方式之一来停止Tomcat:
- %CATALINA_HOME%\bin\shutdown.bat
- 或者%CATALINA_HOME%\bin\catalina.bat stop
在*nix下,可以通过下面的一种方式来停止Tomcat:
- $CATALINA_HOME/bin/shutdown.sh
- 或者$CATALINA_HOME/bin/catalina.sh stop