《国产系统运维笔记》第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,看似简单,却涉及系统安全、权限控制、服务管理、国产适配等多个维度。这不仅是技术操作,更是对"自主可控"理念的践行。

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

相关推荐
市场部需要一个软件开发岗位10 分钟前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
历程里程碑23 分钟前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
程序员泠零澪回家种桔子42 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
CodeCaptain1 小时前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
Anastasiozzzz2 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
骇客野人2 小时前
通过脚本推送Docker镜像
java·docker·容器
铁蛋AI编程实战2 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python
晚霞的不甘2 小时前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
SunnyDays10112 小时前
使用 Java 冻结 Excel 行和列:完整指南
java·冻结excel行和列
摇滚侠2 小时前
在 SpringBoot 项目中,开发工具使用 IDEA,.idea 目录下的文件需要提交吗
java·spring boot·intellij-idea