《国产系统运维笔记》第2期:在 openEuler 24.03 LTS 上在线部署 Tomcat 9 全记录

原文链接: https://mp.weixin.qq.com/s/LG0eWBUxUbceotz7mMWJ9g

在国产化浪潮和信创生态加速推进的今天,openEuler 作为华为发起并开源的高性能企业级 Linux 发行版,正被越来越多政府、金融、电信等关键行业采用。而 Tomcat 9 作为 Apache 基金会维护的经典 Servlet 容器,完美支持 Java EE 8 和 Servlet 4.0 规范,稳定性高、社区成熟,是部署传统 Java Web 应用(如 JSP、Spring MVC)的首选。

虽然 Spring Boot 内嵌了 Tomcat,但如果你需要部署 WAR 包、管理多个应用、或进行精细调优,独立安装 Tomcat 仍是刚需 。本文将带你在 openEuler 24.03 LTS 上干净、安全、高效地安装 Tomcat 9,并完成基础配置与验证。

一、准备工作:系统初始化与依赖安装

1. 确认系统版本

首先,登录你的 openEuler 24.03 系统(建议使用 root 或具备 sudo 权限的用户),执行:

bash 复制代码
cat /etc/os-release
uname -a

你应该会看到类似输出:

确认无误后,继续下一步。

2. 安装必要工具

openEuler 默认使用 dnf 作为包管理器(兼容 yum)。我们需要先安装几个常用工具(如果有则不用安装):

bash 复制代码
dnf install -y wget tar vim net-tools
  • wget:用于下载 Tomcat 安装包
  • tar:解压 .tar.gz 文件
  • vim:编辑配置文件
  • net-tools:包含 netstat,方便后续检查端口(可选)

3. 关闭 SELinux(可选,但建议先关闭避免权限问题)

bash 复制代码
# 临时设为 permissive 模式
setenforce 0
# 永久关闭(编辑配置文件)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

二、安装 JDK:Tomcat 的运行基石

Tomcat 是纯 Java 编写的,必须依赖 JDK。Tomcat 9 要求 JDK 8 或更高版本。我这里使用 OpenJDK 8(LTS 版本,性能好、安全性高),openEuler 官方源已提供。

安装 OpenJDK 8

bash 复制代码
dnf install -y java-1.8.0-openjdk.x86_64

验证安装

bash 复制代码
java -version

输出应类似:

小贴士:Tomcat 9 官方支持 JDK 8~17

没有报错,说明 JDK 已就绪!

三、下载并安装 Tomcat 9

bash 复制代码
dnf install -y tomcat

四、基础安全加固

默认 Tomcat 存在多个安全隐患,需要处理。

1. 防火墙放行tomcat服务端口

openEuler 默认使用 firewalld:

bash 复制代码
# tomcat默认服务端口8080,自行修改端口之后开放对应端口即可
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

优于直接关闭防火墙,更符合生产规范。

2. 修改默认端口(可选)

编辑 conf/server.xml(tomcat默认安装目录/usr/share/tomcat),将 8080 改为其他端口(如 8090):

修改之后重启tomcat服务生效配置:

bash 复制代码
 systemctl daemon-reload
 systemctl restart tomcat.service

五、启动并启用tomcat服务

使用dnf在线安装完成tomcat默认注册了systemd系统服务,但是没有启动。启动命令如下:

bash 复制代码
systemctl start tomcat

查看进程:

bash 复制代码
ps aux | grep tomcat

检查端口监听:

bash 复制代码
netstat -nlpt | grep 8080

访问默认页面

在浏览器中输入:

如果看到经典的 Apache Tomcat 首页(带猫 logo),恭喜你!Tomcat 已成功运行!

写在最后

在 openEuler 上安装 Tomcat 9,看似简单,却涉及系统安全、权限控制、服务管理、国产适配等多个维度。这不仅是技术操作,更是对"自主可控"理念的践行。

希望这篇实战指南,能帮你少走弯路。如果你觉得有用,欢迎点赞、收藏、转发给正在国产化迁移路上的同事!关注我,一起深耕国产技术栈!

相关推荐
一直不明飞行3 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
REDcker3 小时前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式
你的保护色4 小时前
【无标题】
java·服务器·网络
basketball6164 小时前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++
淘矿人5 小时前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
小江的记录本5 小时前
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·mysql·spring·面试·职场和发展
来恩10035 小时前
请求转发与响应重定向的使用
java
@杰克成5 小时前
Java学习30
java·开发语言·学习
次元工程师!5 小时前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow
oddsand17 小时前
Redis网络模型
java·数据库·redis