需完成JDK环境准备、Tomcat二进制安装、权限与服务配置等关键环节:一、确认系统版本与架构并检查Java环境;二、安装并配置OpenJDK 17;三、下载解压Tomcat 9.0.115至标准路径;四、创建非root专用用户并授权目录;五、配置systemd服务实现开机自启;六、开放防火墙端口并验证HTTP访问。

如果您在银河麒麟操作系统上需要运行Java Web应用,但尚未部署Tomcat服务器,则需完成JDK环境准备、Tomcat二进制安装、权限与服务配置等关键环节。以下是针对银河麒麟V10(含SP1/SP2)的实操流程:
一、确认系统版本与架构并检查Java环境
准确识别系统发行版类型(Debian系或CentOS系)及CPU架构(x86_64或aarch64),是匹配JDK与Tomcat包的前提;同时验证是否已预装兼容的OpenJDK,避免重复安装或版本冲突。
1、查看系统标识信息:cat /etc/os-release
2、确认内核与硬件架构:uname -m && uname -r
3、检测Java是否可用及版本:java -version 2>/dev/null || echo "未安装Java"
4、检查JAVA_HOME是否已设置:echo $JAVA_HOME
二、安装并配置OpenJDK 17(推荐生产环境)
Tomcat 9.0.115及以上版本在银河麒麟上稳定运行依赖于OpenJDK 17,其JVM特性与安全性优于旧版本;需确保-devel包存在,并将JAVA_HOME精确指向JDK根目录,否则startup.sh脚本可能因找不到tools.jar而启动失败。
1、根据系统源类型执行安装命令:sudo yum install java-17-openjdk java-17-openjdk-devel -y(CentOS系)或sudo apt install openjdk-17-jdk -y(Debian系)
2、编辑全局环境变量文件:sudo nano /etc/profile
3、在文件末尾追加三行(路径须与实际一致):export JAVA_HOME=/usr/lib/jvm/java-17-openjdk、export JRE_HOME=$JAVA_HOME/jre、export PATH=$PATH:$JAVA_HOME/bin
4、使配置立即生效:source /etc/profile
5、双重验证:echo $JAVA_HOME && java -version
三、下载并解压Tomcat 9.0.115至标准路径
采用官方发布的.tar.gz免安装包可规避麒麟系统中SELinux策略或AppArmor限制;解压至/usr/local/路径便于统一权限管理、升级维护,并符合国产化系统部署规范。
1、创建专用安装目录:sudo mkdir -p /usr/local/src/tomcat
2、切换目录并下载稳定版:cd /usr/local/src/tomcat && sudo wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.115/bin/apache-tomcat-9.0.115.tar.gz
3、校验压缩包完整性(生产必需):sudo sha512sum apache-tomcat-9.0.115.tar.gz | grep -q "b4e3d9c3" && echo "校验通过" || echo "校验失败"
4、解压至/usr/local并建立软链接:sudo tar -zxvf apache-tomcat-9.0.115.tar.gz -C /usr/local/ && sudo ln -sf /usr/local/apache-tomcat-9.0.115 /usr/local/tomcat
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
四、创建非root专用用户并授权目录
以普通用户身份运行Tomcat可显著降低系统被提权攻击的风险;该用户无需登录权限、不分配shell,仅用于服务进程执行,符合等保2.0对中间件运行账户的安全要求。
1、创建受限系统用户:sudo useradd -M -s /sbin/nologin tomcat
2、递归授权Tomcat主目录:sudo chown -R tomcat:tomcat /usr/local/apache-tomcat-9.0.115
3、修改bin目录执行权限:sudo chmod +x /usr/local/tomcat/bin/*.sh
4、切换至该用户测试脚本可执行性:sudo -u tomcat /usr/local/tomcat/bin/version.sh
五、配置systemd服务实现开机自启
替代传统shell脚本启停方式,systemd服务单元能提供进程守护、日志集成、依赖管理与状态监控能力;适用于银河麒麟V10 SP2及以上版本,且与firewalld、auditd等安全组件协同良好。
1、创建服务定义文件:sudo nano /usr/lib/systemd/system/tomcat.service
2、写入标准单元配置(Type=forking + ExecStart/Stop明确路径):[Unit]\nDescription=Apache Tomcat 9.0.115\nAfter=network.target\n\n[Service]\nType=forking\nUser=tomcat\nGroup=tomcat\nEnvironment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk"\nEnvironment="CATALINA_HOME=/usr/local/tomcat"\nExecStart=/usr/local/tomcat/bin/startup.sh\nExecStop=/usr/local/tomcat/bin/shutdown.sh\nRestartSec=10\nRestart=always\n\n[Install]\nWantedBy=multi-user.target
3、重载systemd配置:sudo systemctl daemon-reload
4、启用并启动服务:sudo systemctl enable --now tomcat
5、验证服务状态:sudo systemctl status tomcat | grep "active (running)"
六、开放防火墙端口并验证HTTP访问
银河麒麟默认启用firewalld,8080端口处于封锁状态;必须显式放行该端口,否则外部无法建立TCP连接,导致浏览器显示“连接被拒绝”错误。
1、永久放行Tomcat默认端口:sudo firewall-cmd --permanent --add-port=8080/tcp
2、重载防火墙规则:sudo firewall-cmd --reload
3、本地curl测试响应头:curl -I http://localhost:8080
4、从客户端浏览器访问:http://[服务器IP]:8080,页面显示Apache Tomcat欢迎页即为成功
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










