本文将一步步带你完成在 openEuler 22.03 (LTS-SP4) 系统上部署 Apache Tomcat 9,并部署一个 Java Web 应用的全过程。

一、环境准备

  • 操作系统:openEuler 22.03 LTS-SP4(建议最小化安装)

  • 配置 YUM 软件仓库


二、安装 Java 环境

Tomcat 依赖 Java 运行环境,这里使用 openEuler 仓库自带的 OpenJDK 1.8。

# 更新软件源(可选)
yum update -y

# 安装 OpenJDK 1.8
yum install -y java-1.8.0-openjdk-devel

# 验证安装
java -version

三、下载并安装 Tomcat 9

1. 下载 Tomcat 二进制包

我们选择 Apache 官方归档站点的 Tomcat 9.0.119 版本。

# 进入常用的源码下载目录
cd /usr/local/src

# 下载 Tomcat 9.0.119
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.119/bin/apache-tomcat-9.0.119.tar.gz

# 解压
tar -zxvf apache-tomcat-9.0.119.tar.gz

2. 移动至统一目录

# 创建目标目录
mkdir -p /usr/local/tomcat

# 将解压后的所有文件移动到 /usr/local/tomcat
mv apache-tomcat-9.0.119/* /usr/local/tomcat/

3. 配置环境变量

为了方便在任何目录下调用 Tomcat 的启动/关闭脚本,可以将tomcat的 bin 目录加入 PATH。

export PATH=$PATH:/usr/local/tomcat/bin | sudo tee -a /etc/profile
source /etc/profile

四、启动 Tomcat 并验证

1. 手动启动

# 进入 Tomcat 的 bin 目录
cd /usr/local/tomcat/bin

# 启动
./startup.sh

2. 检查进程和端口

# 查看进程
ps -ef | grep tomcat

# 查看端口(默认 8080)
netstat -tlnp | grep 8080

3. 开放防火墙端口

如果系统启用了防火墙(firewalld),需要放行 8080 端口:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

4. 浏览器访问

在浏览器中输入 http://192.168.146.146:8080(替换为你的服务器 IP),如果看到 Tomcat 默认首页(猫图标),说明安装成功。


五、配置 Tomcat 开机自启(Systemd)

为了生产环境稳定,我们使用 systemd 管理 Tomcat 服务。

1. 创建 systemd 服务文件

cat > /etc/systemd/system/tomcat.service <<EOF
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.462.b08-3.oe2203sp4.x86_64
Environment="CATALINA_HOME=/usr/local/tomcat"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
User=root
Group=root

[Install]
WantedBy=multi-user.target
EOF

2. 重载并启用服务

systemctl daemon-reload
systemctl enable tomcat   # 设置开机自启
systemctl start tomcat    # 立即启动
systemctl status tomcat   # 查看状态,应为 active (running)

六、部署 Java Web 应用(WAR 包)

准备好如 hello.war 的 Web 应用(由 Maven 打包生成,依赖 Servlet API,打包命令为 mvn clean package),现在将其部署到 Tomcat。

1. 将 WAR 包复制到 webapps 目录

# WAR 包位于 /opt/hello-app/target/hello.war
cp /opt/hello-app/target/hello.war /usr/local/tomcat/webapps/

2. 自动解压与部署

Tomcat 会自动检测到 webapps 目录下的 WAR 文件,并解压部署。稍等几秒,你会看到 webapps 下出现同名的 hello 文件夹。

3. 访问应用

浏览器访问 http://192.168.146.146:8080/hello/(根据你的应用上下文路径),如果看到应用页面,则部署成功。

整个过程较为基础,但涵盖了一个 Java Web 项目上线所需的核心环节。后续可以根据实际需求优化 JVM 参数、配置 HTTPS、集成 Nginx 反向代理等。

希望本篇实践对你有所帮助,欢迎在评论区交流讨论!

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐