Tomcat

来自 阿尔派 Linux

Apache Tomcat 是一个开源的 Web 服务器,它实现了 Java Servlet、JavaServer Pages、Java Expression Language 和 Java WebSocket 技术。它也可以提供静态 HTML 页面。

本指南描述了如何设置 Tomcat 以交付静态 HTML 页面以及打包为 Web 应用程序归档 (WAR) 的 Web 应用程序。

安装

Java

Tomcat 需要 Java 运行时环境 (JRE),它包含在阿尔派社区仓库的各种软件包中。

提示: 社区仓库默认情况下是禁用的。请参阅 启用社区仓库 页面以获取有关如何启用它的更多信息。

安装哪个软件包?首先你需要回答几个问题

  • 你需要哪个 Java 版本?
  • 你只需要 JRE 还是需要 Java 开发工具包 (JDK)?

在撰写本文时(2021 年 3 月),最流行的 Java 版本是 Java 8 和 Java 11。Java 8 是 Tomcat 版本 9 和 10 的最低要求版本。

如果你计划仅使用 Java 运行 Tomcat,并且不需要 JDK 中包含的工具,你可以利用仅包含 JRE 且不带 GUI 支持的软件包。不带 GUI 支持的软件包也称为“headless”(无头)。

要安装 OpenJDK 8 Java 运行时环境(无 GUI 支持),请执行以下命令

apk add openjdk8-jre-base

要安装 OpenJDK 11(JRE headless),请执行以下命令

apk add openjdk11-jre-headless

要安装 OpenJDK 8,请执行以下命令

apk add openjdk8

要安装 OpenJDK 11,请执行以下命令

apk add openjdk11

要检查当前安装的 Java 版本,请执行以下命令

java -version

Tomcat

Tomcat 必须从 Apache Tomcat 官方网站下载。你需要二进制发行版核心(tar.gz),下载它,将其保存在你可以轻松找到的地方,并将其解压到你选择的文件夹中。在本手册中,我们将假设 Tomcat 被解压到 /opt/tomcat 目录。

要创建 /opt/tomcat 目录,请执行以下命令

mkdir /opt/tomcat

要将二进制发行版解压到 /opt/tomcat 目录,请执行以下命令

tar xvzf apache-tomcat-9.0.44.tar.gz --strip-components 1 --directory /opt/tomcat

要测试你的安装,请执行以下命令

/opt/tomcat/bin/catalina.sh version

你应该看到一个文件夹列表、已安装的 tomcat 版本、操作系统名称、处理器架构等等。如果这失败了,要么是已安装的 tomcat 版本与已安装的 Java 版本不兼容,要么是这两个程序之一没有正确安装。

提示: Tomcat 由几个组件组成,Catalina 是负责运行服务器的部分。

如果第一个测试成功,你可以通过使用 run 命令运行 catalina.sh 来测试服务器本身。该命令将在你当前的控制台中启动 Tomcat。

/opt/tomcat/bin/catalina.sh run

现在,在运行 Alpine 的同一台计算机上,将浏览器指向 http://127.0.0.1:8080/。你应该看到一个页面,上面写着 如果你看到这个,你已经成功安装了 Tomcat。恭喜你!

提示: 确保你在 IP 地址后包含了 :8080。8080 是 Tomcat 的标准端口,而你的浏览器将在端口 80 上搜索服务器,除非你指定另一个端口。

要停止 Tomcat,请按 Control+C。

通常,你不想在当前控制台中启动 Tomcat,而是作为后台进程。要在后台启动 Tomcat,请执行 startup.sh 脚本

/opt/tomcat/bin/startup.sh

要停止 Tomcat,请执行 shutdown.sh 脚本

/opt/tomcat/bin/shutdown.sh

Tomcat 服务脚本

你也可以将 Tomcat 作为 OpenRC 服务启动。

使用以下内容创建 /etc/init.d/tomcat 文件

#!/sbin/openrc-run
description="Apache Tomcat"
command=/opt/tomcat/bin/catalina.sh
command_args=run
command_background=true
directory=/opt/tomcat
pidfile="/run/${RC_SVCNAME}.pid"

使 /etc/init.d/tomcat 文件可执行

chmod +x /etc/init.d/tomcat

现在,你可以使用 OpenRC 启动 Tomcat,如下所示

rc-service tomcat start

要停止 Tomcat,请执行以下命令

rc-service tomcat stop

要在系统启动时启用自动启动,你可以将该服务添加到默认运行级别

rc-update add tomcat default

运行 Tomcat

有两种使用 Tomcat 发布文档的方式:动态 Java 应用程序(例如 wiki、论坛或博客)或静态页面(HTML、图像)。Tomcat 专门用于动态应用程序,这些应用程序通常部署为 WAR 文件。

动态内容

安装 WAR 文件很容易:只需将其复制到 /opt/tomcat/webapps。Tomcat 会自动将其安装到与 WAR 文件同名的文件夹中(.WAR 扩展名之前的内容)。例如,如果你安装 jspwiki.war,你可以在 http://127.0.0.1:8080/jspwiki/ 上打开该 wiki。

静态内容

要交付静态内容,你需要编辑 /opt/tomcat/conf 文件夹中的 server.xml 文件。

在 server.xml 中找到 <Host appBase="webapps"> 部分,并在结束标记 </Host> 之前直接添加条目 <Context docBase="/home/stuff" path="/static" />。将 /home/stuff 替换为你要保存静态文件的文件夹。/static 是你需要打开静态文件的 URL 部分,它可以更改为你喜欢的任何内容。

有关如何使用 Tomcat 提供静态内容 的更详细描述。