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

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

相关推荐
月明长歌2 小时前
Selenium Web 自动化测试脚本总结
java·selenium·测试工具
多看书少吃饭2 小时前
文件预览的正确做法:从第三方依赖到企业级自建方案(Vue + Java 实战)
java·前端·vue.js
高山上有一只小老虎2 小时前
JPA实现分页查询
java·spring boot·后端
阿蒙Amon2 小时前
C#每日面试题-Task和ValueTask区别
java·开发语言·c#
Java程序员威哥2 小时前
【包教包会】SpringBoot依赖Jar指定位置打包:配置+原理+避坑全解析
java·开发语言·spring boot·后端·python·微服务·jar
a程序小傲2 小时前
中国邮政Java面试被问:边缘计算的数据同步和计算卸载
java·服务器·开发语言·算法·面试·职场和发展·边缘计算
Java程序员威哥2 小时前
Java微服务可观测性实战:Prometheus+Grafana+SkyWalking全链路监控落地
java·开发语言·python·docker·微服务·grafana·prometheus
毕设源码-邱学长2 小时前
【开题答辩全过程】以 面向警务应用的问答系统的设计与实现为例,包含答辩的问题和答案
java