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/tomcat3.2 创建专用用户
为安全考虑,创建专用 tomcat 用户:
sudo useradd -r -m -d /opt/tomcat -s /bin/false tomcat sudo chown -R tomcat:tomcat /opt/apache-tomcat-9.0.xx3.3 环境变量配置
编辑 /etc/profile.d/tomcat.sh:
export CATALINA_HOME=/opt/tomcat export PATH=$PATH:$CATALINA_HOME/bin使配置生效:
source /etc/profile.d/tomcat.sh4. 服务配置与优化
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 tomcat4.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 --reload7. 验证部署
访问 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 时:
- 备份配置和 webapps
- 停止服务
- 解压新版本到新目录
- 复制旧配置到新目录
- 更新符号链接
- 启动服务测试
在实际生产环境中,我建议先在测试环境验证升级过程,确保所有应用兼容新版本。