简介
在本教程中,我们将解释如何在 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 应用程序。