简介

在本教程中,我们将解释如何在 Ubuntu 22.04 上为 Java 应用程序安装 Apache Tomcat 10。

通过这份全面的分步教程,学习如何在 Linux 服务器上安装和配置 Apache Tomcat。从安装 Java 和下载 Tomcat 到设置专用用户和配置访问权限,本指南涵盖了你高效部署和管理 Java 应用程序所需的一切。

通过详细的故障排除提示,克服诸如 “403 Access Denied” 错误之类的常见问题,并确保你的 Tomcat 服务器已准备好投入生产使用。本教程非常适合希望增强 Web 服务器设置的开发人员和系统管理员。

准备工作

  • 准备一台云服务器

若尚未拥有服务器,可前往 雨云官网 https://rainyun.ivwv.site 进行注册,新用户有专属优惠。

安装和配置步骤

第一步:更新你的系统

首先,确保你的系统是最新的。

sudo apt update
sudo apt upgrade -y

第二步:安装 Java

Apache Tomcat 需要 Java 才能运行。你可以安装 OpenJDK,它是 Java 平台的开源实现。

sudo apt install openjdk-17-jdk -y

验证安装:

java -version

第三步:创建 Tomcat 用户

出于安全考虑,创建一个单独的用户来运行 Tomcat。

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

第四步:下载 Apache Tomcat

从 官方网站 下载最新版本的 Apache Tomcat。

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz

第五步:安装和配置 Tomcat

解压 Tomcat 包并将其移动到 /opt/tomcat 目录。

sudo mkdir /opt/tomcat
sudo tar -xzf apache-tomcat-10.1.26.tar.gz -C /opt/tomcat --strip-components=1

为 Tomcat 目录设置适当的权限。

sudo chown -R tomcat: /opt/tomcat
sudo chmod -R u+x /opt/tomcat/bin

创建一个 systemd 服务文件来管理 Tomcat 服务。

sudo nano /etc/systemd/system/tomcat.service

将以下内容添加到文件中:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
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

[Install]
WantedBy=multi-user.target

重新加载 systemd 守护进程并启动 Tomcat 服务。

sudo systemctl daemon-reload
sudo systemctl start tomcat

启用 Tomcat 在启动时启动:

sudo systemctl enable tomcat

第六步:调整防火墙

如果你的防火墙已启用,请允许端口 8080 上的流量。

sudo ufw allow 8080
sudo ufw reload

第七步:验证安装

打开 Web 浏览器并转到 http://你的服务器IP:8080。你应该看到 Apache Tomcat 欢迎页面。

第八步:配置 Tomcat Web 管理界面(可选)

要访问 Tomcat Web 管理界面,你需要配置用户。编辑 tomcat-users.xml 文件:

sudo nano /opt/tomcat/conf/tomcat-users.xml

在 </tomcat-users> 行之前添加以下行:

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>

注意: 将 admin 和 password 替换为你喜欢的用户名和密码。

Tomcat 的 Manager 应用程序的 web.xml 文件控制访问。默认情况下,Manager 应用程序仅限于某些 IP 地址。要允许访问,你可能需要配置 Manager 应用程序的 context.xml 文件。

编辑 Manager 应用程序的 context.xml 文件:

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

注释掉或修改 Valve 部分以允许来自所有 IP 地址或特定 IP 地址的访问:

<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1"/>
-->

或者,如果你只想允许来自特定 IP 地址的访问,你可以在 allow 属性中列出它们。 例如:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1|你的_IP_地址"/>

将 你的_IP_地址 替换为你想要允许访问的实际 IP 地址。

重启 Tomcat 服务以应用更改。

sudo systemctl restart tomcat

现在,你可以在以下位置访问 Tomcat Manager 和 Host Manager 界面:

Tomcat Manager: http://你的服务器IP:8080/manager/html
Host Manager: http://你的服务器IP:8080/host-manager/html

使用你在 tomcat-users.xml 文件中配置的用户名和密码登录。

结论

你已成功在 Ubuntu 22.04 服务器上安装和配置了 Apache Tomcat 10。你现在可以在 Tomcat 服务器上部署你的 Java 应用程序。

我的博客:https://blog.ivwv.site
雨云官网:https://rainyun.ivwv.site

更多推荐