Apache Tomcat 软件 是一款基于 Java 的 HTTP 服务器,可以运行 Java Servlet、JavaServer Pages (JSP) 和 Java 表达式语言等 Java 技术。先进的内置自定义选项、高度的灵活性和出色的稳定性使该软件备受青睐,并成为全球开发人员的热门选择。让我们来看看是什么让 Apache Tomcat 在竞争对手中脱颖而出:
-
开源
Apache Tomcat 是一款开源应用程序。这意味着任何人都可以免费下载、安装和使用该应用程序。
-
轻量级
与竞争对手相比,轻量级特性在加载和重新部署时是一个额外的优势。
-
灵活性
内置的自定义选项允许用户根据自己的需求和项目要求,按照自己的喜好自定义应用程序。
-
高级安全性
Tomcat 应用程序还提供了高级别的安全性。
自其 首次发布 以来,Apache 软件基金会做出了令人难以置信的改变。因此,最近的版本比以往任何时候都更加稳定。在本教程中,您将学习如何在 Ubuntu 20.04 上安装 Apache Tomcat 9。
前提条件
在继续在 Ubuntu 系统上安装 Apache Tomcat 之前,请确保您具备以下条件:
- 一个 Ubuntu 服务器 - 您可以按照我们教程中的步骤来设置您的服务器.
- 在您的服务器上设置了具有 sudo 权限的非 root 用户.
现在您已准备就绪。接下来,请继续按照以下步骤在 Ubuntu 20.04 上安装 Apache Tomcat
步骤 1 — 安装 Java
首先,使用以下命令验证您的系统中是否已安装 Java:
|
1 |
java -version |
如果您的系统中未安装 Java,则需要安装它才能执行基于 Java 的应用程序。您可以使用以下命令安装 Java 开发工具包:
|
1 |
sudo apt install default-jre |
安装完成后,使用以下命令进行验证:
|
1 |
java -version |
安装完成后,是时候创建一个 tomcat 用户帐户了。出于安全考虑,建议以非 root 权限运行 Tomcat。请记住,如果任何页面脚本具有 root 权限,您就可以轻松地通过页面脚本完全修改硬盘文件。接下来,我们将创建一个运行 Tomcat 服务的新用户和用户组。
步骤 2 – 创建 & 设置 Tomcat 用户
我们将创建一个使用所有 Tomcat 服务的新用户和用户组。我们将使用以下命令将新组命名为 tomcat:
|
1 |
sudo groupadd tomcat |
创建组名后,我们将创建一个新的 tomcat 用户,然后将该用户添加到组 tomcat:
- 创建一个新的 tomcat 用户。
- 将用户成员身份添加到 tomcat 组。
将用户添加到 tomcat 组时,请务必保密,以便没人可以访问您的 tomcat 帐户。出于安全考虑,将用户保留在我们要安装 tomcat ( /opt/tomcat)的主目录中,并添加一个 shell /bin/false:
|
1 |
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
帐户设置完成后,让我们继续安装 Tomcat:
步骤 3 – 安装 Tomcat
我们将从 Tomcat 的官方网站安装 Tomcat。为了充分发挥其潜力,请下载最新版本。要升级到最稳定的可用版本,请转到 Binary Distributions 部分,滚动到 Core 列表,然后复制 “tar.gz” 的链接。 完成后,将目录更改为 /tmp:
|
1 |
cd /tmp |
接下来,使用 curl 命令,从上述官方网站下载 Tomcat:
|
1 |
sudo curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.60/bin/apache-tomcat-9.0.60.tar.gz |
让我们将 Tomcat 安装在 /opt/tomcat 目录下。创建目录后,使用以下命令解压归档文件:
|
1 2 |
sudo mkdir /opt/tomcat sudo tar xzvf apache-tomcat-9.0.60.tar.gz -C /opt/tomcat --strip-components=1 |
步骤 4 – 更新权限
在系统中安装 Tomcat 后,您需要为新创建的 tomcat 用户设置权限。使用以下命令切换到解压 Tomcat 安装包的目录:
|
1 |
cd /opt/tomcat |
接下来,允许 tomcat 组拥有整个安装目录的所有权:
|
1 2 3 |
sudo chgrp -R tomcat /opt/tomcat sudo chmod -R g+r conf sudo chmod g+x conf |
完成后,将 tomcat 用户设为 webapps, work, temp 和 logs 目录的所有者:
|
1 |
sudo chown -R tomcat webapps/ work/ temp/ logs |
设置好所有必需的权限后,下一步是创建一个 systemd 服务文件来管理 Tomcat 进程,并将 Tomcat 作为服务运行。
步骤 5 – 创建 systemd 单元文件
虽然我们已经完成了 Java 的安装,但 Tomcat 需要知道 Java 的安装位置。要了解 Java 的安装位置,请运行以下命令:
|
1 |
sudo update-java-alternatives -l |
输出应该像这样:
突出显示的部分是 JAVA_Home,如下所示:
|
1 |
/usr/lib/jvm/java-1.11.0-openjdk-amd64 |
接下来,我们将创建一个 systemd 服务文件。打开名为 tomcat.service 的文件,它位于 /etc/systemd/system 目录中,使用以下命令:
|
1 |
sudo nano /etc/systemd/system/tomcat.service |
使用 VI 编辑器编辑该文件,并将 JAVA_Home 修改为您的 JAVA_Home 位置:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd6 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target |
添加 JAVA_Home 后,保存并关闭文件。接下来,重新加载 systemd 守护进程,以便它知道我们的服务文件:
|
1 |
sudo systemctl daemon-reload |
接下来,使用以下命令启动 Tomcat 服务:
|
1 |
sudo systemctl start tomcat |
步骤 6 – 防火墙配置
创建 systemd 单元文件后,是时候配置防火墙了。防火墙配置对于允许我们请求和访问 Tomcat 服务至关重要。如果您正确遵循了指南,那么可以肯定您已经启用了 ufw 防火墙。
Tomcat 使用端口 8080 来接受常规请求。使用以下命令允许流量通过该端口:
|
1 |
sudo ufw allow 8080 |
修改后的防火墙使您能够访问 IP 地址后跟 :8080 的默认欢迎页面。您可以通过在 Web 浏览器中访问该 IP 来打开它,如下所示:
|
1 |
http://server_domain_or_IP:8080 |
|
1 |
sudo ufw allow 8080 |
步骤 7 — Tomcat Web 管理界面配置
要使用 Tomcat 自带的 manager web 应用程序,我们必须向 Tomcat 服务器添加登录凭据。我们可以通过编辑 tomcat-users.xml 文件来实现,如下所示:
|
1 |
sudo nano /opt/tomcat/conf/tomcat-users.xml |
Tomcat 附带了允许用户访问 manager-gui 和 admin-gui 的 Web 应用程序。您可以在 tomcat-users 标签之间定义一个用户,如下所示:
|
1 2 3 |
<tomcat-users . . .> <user username="admin" password="password" roles="manager-gui,admin-gui"/> </tomcat-users> |
完成后保存并关闭文件。
所有最新版本的 Tomcat 都将对 Manager 和 Host Manager 应用程序的访问限制为来自服务器自身的连接。要更改这些应用程序的 IP 地址限制,请打开相应的 context.xml 文件。要访问 Manager 应用程序,请使用以下命令:
|
1 |
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml |
接下来,要访问 Host Manager 应用程序,请使用以下命令:
|
1 |
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml |
根据您的需求,您可以选择接受或拒绝连接。您可以注释掉 IP 地址限制以允许来自任何地方的连接。否则,您可以将公网 IP 地址添加到列表中,以允许来自您 IP 地址的连接:
|
1 2 3 4 |
<Context antiResourceLocking="false" privileged="true" > <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--> </Context> |
完成后保存并关闭文件。要使您所做的更改生效,请使用以下命令重启 Tomcat 服务:
|
1 |
sudo systemctl restart tomcat |
步骤 8 — Web 界面访问
创建 Tomcat 用户后,我们现在可以访问 Web 管理界面。同样,您可以通过访问服务器的域名或 IP 地址,后跟端口 8080:
|
1 |
http://server_domain_or_IP:8080 |
点击此 URL 时,您将看到如下所示的页面:
您可以通过提供您已添加到 tomcat-users.xml 中的账户凭据来访问 Tomcat Web 应用程序。要访问 Manager 应用程序,请使用以下链接:
|
1 |
http://server_domain_or_IP:8080/manager/html |
点击此 URL 时,您将看到如下所示的页面:
要访问 Host Manager 应用程序,请使用以下链接:
|
1 |
http://server_domain_or_IP:8080/host-manager/html |
点击此 URL 时,您将看到如下所示的页面:
结论
您的 Tomcat 安装现已完成。您可以自由部署自己的 Java Web 应用程序并提升您的数字化体验。您会发现,与替代方案相比,在 Apache Tomcat 上进行加载和重新部署的速度要快得多。然而,它不适合处理静态页面。
有关应用基于 Apache 的服务器的更多资源,请查看 我们的博客:
- mod_proxy 扩展指南:将 Apache 用作反向代理
- Web 服务器的世界:Apache vs. Nginx
- 在 Ubuntu 20.04 上配置 Apache 虚拟主机
- 在 CentOS 7 上安装 Apache Web 服务器
祝您计算愉快!














评论
暂无评论。发表第一条评论吧。