ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

openEuler 24.03 LTS部署Tomcat 9完整指南

openEuler 24.03 LTS部署Tomcat 9完整指南

1. 项目概述

最近在 openEuler 24.03 LTS 上部署 Tomcat 9 时,发现网上针对这个特定组合的完整教程并不多。作为国产操作系统的忠实用户,我决定把这次部署的完整过程记录下来,希望能帮助到同样在使用 openEuler 的开发者们。

openEuler 24.03 LTS 是华为推出的企业级 Linux 发行版的最新长期支持版本,而 Tomcat 9 则是目前企业 Java Web 应用部署的主流选择之一。这个组合特别适合需要国产化替代方案的企业环境。下面我会详细介绍从系统准备到 Tomcat 服务上线的完整流程。

2. 环境准备

2.1 系统基础配置

首先确保你的 openEuler 24.03 LTS 系统已经完成基础配置:

sudo dnf update -y sudo dnf install -y vim wget curl net-tools

提示:openEuler 使用 dnf 作为包管理器,与 CentOS/RHEL 8+ 保持一致。

2.2 Java 环境安装

Tomcat 9 需要 Java SE 8 或更高版本。推荐安装 OpenJDK 11:

sudo dnf install -y java-11-openjdk java-11-openjdk-devel

验证安装:

java -version

预期输出类似:

openjdk version "11.0.xx" OpenJDK Runtime Environment (build 11.0.xx+xx) OpenJDK 64-Bit Server VM (build 11.0.xx+xx, mixed mode)

3. Tomcat 9 安装与配置

3.1 下载 Tomcat 9

建议从 Apache 官网获取最新稳定版:

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.xx/bin/apache-tomcat-9.0.xx.tar.gz

解压到 /opt 目录:

sudo tar -xzf apache-tomcat-9.0.xx.tar.gz -C /opt sudo ln -s /opt/apache-tomcat-9.0.xx /opt/tomcat

3.2 创建专用用户

为安全考虑,创建专用 tomcat 用户:

sudo useradd -r -m -d /opt/tomcat -s /bin/false tomcat sudo chown -R tomcat:tomcat /opt/apache-tomcat-9.0.xx

3.3 环境变量配置

编辑 /etc/profile.d/tomcat.sh:

export CATALINA_HOME=/opt/tomcat export PATH=$PATH:$CATALINA_HOME/bin

使配置生效:

source /etc/profile.d/tomcat.sh

4. 服务配置与优化

4.1 创建 systemd 服务

创建 /etc/systemd/system/tomcat.service:

[Unit] Description=Apache Tomcat 9 After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=on-failure [Install] WantedBy=multi-user.target

启用服务:

sudo systemctl daemon-reload sudo systemctl enable --now tomcat

4.2 内存配置调整

编辑 /opt/tomcat/bin/setenv.sh(需新建):

export JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m"

注意:内存参数应根据服务器实际配置调整,生产环境建议 Xmx 设置为可用内存的 70-80%。

5. 安全加固

5.1 禁用管理界面

编辑 /opt/tomcat/webapps/manager/META-INF/context.xml,注释掉 Valve 部分:

<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

5.2 修改默认端口

编辑 /opt/tomcat/conf/server.xml,修改 Connector 端口:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

建议改为非标准端口如 8888。

6. 防火墙配置

openEuler 使用 firewalld:

sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload

7. 验证部署

访问 http://服务器IP:8080 应该能看到 Tomcat 默认页面。

创建测试页面:

echo "<h1>Hello openEuler!</h1>" > /opt/tomcat/webapps/ROOT/test.jsp

访问 http://服务器IP:8080/test.jsp 验证。

8. 常见问题排查

8.1 启动失败排查

查看日志:

journalctl -u tomcat -f

或

tail -f /opt/tomcat/logs/catalina.out

常见问题:

  • 端口冲突:netstat -tulnp | grep java
  • 权限问题:确保 /opt/tomcat 及其子目录属于 tomcat 用户

8.2 性能调优建议

  • 连接数调整:修改 server.xml 中的 maxThreads(默认 200)
  • 启用 APR 连接器:需安装 tomcat-native
  • 启用压缩:在 Connector 配置中添加 compression="on"

9. 备份与维护

9.1 定期备份配置

建议备份以下目录:

  • /opt/tomcat/conf
  • /opt/tomcat/webapps

9.2 日志轮转

配置 logrotate:

/opt/tomcat/logs/catalina.out { daily rotate 30 missingok compress copytruncate }

10. 升级注意事项

升级 Tomcat 时:

  1. 备份配置和 webapps
  2. 停止服务
  3. 解压新版本到新目录
  4. 复制旧配置到新目录
  5. 更新符号链接
  6. 启动服务测试

在实际生产环境中,我建议先在测试环境验证升级过程,确保所有应用兼容新版本。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进