Tomcat:安装、配置、卸载

来自Wikioe
跳到导航 跳到搜索


关于

版本

Apache Tomcat 版本历史
Apache Tomcat 版本 支持的 Java 版本 简介 稳定日期
8.5 7 and later 实现了 Servlet 3.1、JSP 2.3、EL 3.0、WebSocket 1.1 (TBD)、JASPIC 1.1 规范。
  • 添加对 HTTP/2、OpenSSL for JSSE、TLS 虚拟主机和 JASPIC 1.1 的支持。
2016-06-13
9.0 8 and later 实现了 Servlet 4.0、JSP 2.4 (TBD)、EL 3.1 (TBD) 、JASPIC 1.1 规范。 2018-01-18
10.0 9 and later 实现了 Servlet 5.0、JSP 3.0 (TBD)、EL 4.0 (TBD) 、WebSocket 2.0 (TBD) 、Authentication 2.0 (TBD) 规范。 2021-02-02
10.1 10 and later 实现了 Servlet 6.0、JSP TBD、EL TBD、WebSocket TBD、Authentication TBD 规范。 /

安装方式

  1. 压缩包:
    解压缩生成文件夹方式的安装,并没有在 windows 中添加相应的服务。所以只能通过 startup 批处理命令启动。直接启动 tomcat5.exe 或者 tomcat5w.exe 会因为找不到服务出错自动退出命令提示窗口。
    • 可以通过命令注册服务到 Windows:
      安装(需要cmd定位到tomcat目录的bin):service.bat install
      卸载(<serviceName>可以通过右键服务属性获得):sc delete <serviceName>
      
    • 根据需要在相关配置文件中配置端口;
    • 需要手动配置环境变量;
  2. 安装文件:
    安装包方式的安装,会在安装后添加 windows 服务。所以可以在开始程序菜单中选择视图窗口启动 tomcat。
    • 安装过程可以设置端口;
    • 安装后会自动配置环境变量;

各目录的作用

Tomcat 的目录:

  1. bin:存放一些二进制的文件。
    例如常用的启动脚本:“startup.bat”或“startup.sh”;关闭脚本:“shutdown.bat”或“shutdown.sh”等等。
  2. conf:存放的是 Tomcat 的配置文件。
    例如常用的“server.xml”用于修改 tomcat 端口(默认 8080)。
  3. lib:存放的是全局的 jar 包。
  4. logs:存放的是 Tomcat 的日志,如果 Tomcat 出错什么的,就需要在这里的日志中查找问题。
  5. temp:存放的是临时性的文件。
  6. webapps:存放的是 Java 的 Web 项目,要部署的项目就需要放在这个目录当中。
  7. work:存放的是由 JSP 代码翻译的 Java 代码,以及编译的.class 文件。

安装

以下:采用压缩包方式安装,且已安装了 JDK。

安装步骤:

  1. 解压tomcat文件到目的目录;
  2. 配置环境变量:
    CATALINA_HOME(tomcat安装目录):D:\Program Files\Apache\Tomcat8.5
    CATALINA_BASE(tomcat工作目录):D:\Program Files\Apache\Tomcat8.5
    
  3. 注册服务:
    cd D:\Program Files\Apache\Tomcat8.5\bin
    service.bat install
    
    • 不注册服务到Windows,则运行“startup.bat”来启动(需要保留该窗口)。
  4. 修改端口:
    修改“..\Tomcat8.5\comfig\server.xml”中的以下内容
    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    


启动服务后,访问 http://localhost:8080 即可验证。

tomcat 的启动方式

  1. 运行“startup.bat”(需要保留窗口)。
    • 关闭则需要运行“shutdown.bat”;
  2. 在 Windows 服务列表中找到对应服务“Apache Tomcat 8.5 Tomcat8”并启动;
    • 或者:运行“tomcat9w.exe”,在页面点击“start”,作用一样;

CATALINA_HOME 和 CATALINA_BASE

The description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5, and is the base directory against which most relative paths are resolved. However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory, you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.

即:CATALINA_HOME 是 Tomcat 的安装目录,CATALINA_BASE 是 Tomcat 的工作目录


如果需要运行 Tomcat 的 多个实例,但是不想安装多个 Tomcat 软件副本,则可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。
  • Tomcat 每个运行实例需要使用自己的:conf、logs、temp、webapps、work 和 shared 目录,因此 CATALINA_BASE 就 指向这些目录。
  • 而其他目录主要包括了 Tomcat 的二进制文件和脚本,CATALINA_HOME 就指向这些目录。

即:如果需要再运行另一个 Tomcat 实例,那么我们可以建立一个目录,把 conf、logs、temp、webapps、work 和 shared 拷贝 到该目录下,然后让 CATALINA_BASE 指向该目录即可。

多版本安装

多版本共存时:
1、不同版本的 tomcat 需要配置不同的环境变量,并修改对应批处理文件中的“CATALINA_HOME”变量(startup.bat、shutdown.bat、catalina.bat、service.bat)。
2、不同版本的 tomcat 需要使用不同端口,避免冲突。


步骤:(以安装 8.5、9.0、10.0 为例)

  1. 解压 tomcat 文件到目的目录;
  2. 配置环境变量:
    CATALINA_BASE8:D:\Program Files\Apache\Tomcat8.5
    CATALINA_BASE9:D:\Program Files\Apache\Tomcat9.0
    CATALINA_BASE10:D:\Program Files\Apache\Tomcat10.0
    
    CATALINA_HOME8:D:\Program Files\Apache\Tomcat8.5
    CATALINA_HOME9:D:\Program Files\Apache\Tomcat9.0
    CATALINA_HOME10:D:\Program Files\Apache\Tomcat10.0
    
  3. 修改批处理文件:
    分别将“...\TomcatX.X\bin”位置的批处理文件中的“CATALINA_HOME”、“CATALINA_BASE”替换为上一步配置的环境变量;
    • “..\bin”目录下的很多批处理文件中都有这两个变量,一般只修改:“startup.bat”、“shutdown.bat”、“catalina.bat”、“service.bat”。【全替换也成,用notepad++之类的很方便】
  4. 修改端口:
    分别将“...\TomcatX.X\conf”位置的“server.xml”做如下修改;
    # “8005”分别修改为:8015——8025——8035
    <Server port="8005" shutdown="SHUTDOWN">
    
    # “8080”分别修改为:8081——8082——8083
    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    
    # “8009”分别修改为:8019——8029——8039
    # 默认被注释了
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    
  5. 注册服务:
    cd D:\Program Files\Apache\Tomcat8.5\bin
    service.bat install
    
    cd D:\Program Files\Apache\Tomcat9.0\bin
    service.bat install
    
    cd D:\Program Files\Apache\Tomcat10.0\bin
    service.bat install
    


分别启动服务后,分别访问:

即可验证。

FAQ

服务启动模式

tomcat8w.exe,是监控、配置 Tomcat 服务的图形化应用程序,可以对 Tomcat 服务做配置。

【必须要安装了对应的 Windows 服务才能使用“tomcat8w.exe”!!!】

使用 tomcat8w.exe(位于“..\Tomcat\bin”) 可知设置 Tomcat 的启动配置:

“Startup”标签页“Mode”项既为其启动模式:(默认是“jvm”)
  1. Java”:使用系统环境的“%JAVA_HOME%”来启动 tomcat;
  2. JVM”:(默认)使用指定的 JVM 来启动;
    • 需要在“Java”标签页配置“Java Virtual Machine”项到某个 JRE 中的“jvm.dll”(如:“D:\Program Files\Java\jre1.8\bin\server\jvm.dll”);
  3. exe”:...;

服务启动失败“系统服务启动 tomcat 报错,特定错误代码 1”

原因:重新安装过 JDK、JRE,所以Tomcat使用的公共JRE的位置变化了。

解决:(按照上一条,修改“Java Virtual Machine”项,或修改为“Java”模式启动)

服务不能停止时,在任务管理器找到对应的后台进程直接结束即可。

卸载Tomcat之后,该文件夹不能删除

在任务管理器的“后台进程”中找到 java 相关的进程(如“Java(TM) platform SE Binary”),将其结束之后,在删除 tomcat 的目录。