需完成jdk环境配置、tomcat二进制安装、权限与服务初始化等关键步骤:一、确认系统架构与java环境状态;二、安装并配置openjdk 17;三、手动解压安装tomcat 9.0.115;四、配置系统级环境变量与非root用户权限;五、启用systemd服务管理并启动验证;六、验证部署结果与端口连通性。

如果您在麒麟操作系统(KylinOS)上需要运行Java Web应用,但尚未部署Tomcat中间件,则需完成JDK环境配置、Tomcat二进制安装、权限与服务初始化等关键步骤。以下是针对当前主流麒麟OS(V10桌面版/服务器版)的实操流程:
一、确认系统架构与Java环境状态
麒麟OS存在基于Debian或CentOS的不同发行分支,必须先识别底层系统类型及CPU架构,避免因JDK或Tomcat包不匹配导致启动失败;同时检查是否已预装可用Java版本,防止重复安装或版本冲突。
1、执行命令查看系统标识:cat /etc/os-release
2、执行命令确认内核与架构:uname -m && uname -r
3、检查是否已安装Java运行时:java -version 2>/dev/null || echo "未安装Java"
二、安装并配置OpenJDK 17(推荐生产环境)
Tomcat 9.0.115及更高版本在麒麟OS上稳定运行依赖OpenJDK 17,其包含完整的JVM与JDK工具链,且兼容麒麟V10默认内核模块与SELinux策略。
1、若系统未安装JDK,根据源类型执行对应命令:sudo dnf install java-17-openjdk java-17-openjdk-devel -y(CentOS系麒麟)或sudo apt install openjdk-17-jdk -y(Debian系麒麟)
2、编辑全局环境变量文件:sudo nano /etc/profile
3、在文件末尾追加以下三行(路径需与realpath $(dirname $(dirname $(readlink -f $(which java))))输出一致):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(生产推荐方式)
手动解压方式完全可控、便于版本升级与路径管理,规避yum/dnf包管理器提供的老旧版本(如tomcat-9.0.68),且适配麒麟OS对/usr/local标准路径的权限策略。
1、创建专用安装目录:sudo mkdir -p /usr/local/src/tomcat
2、切换至该目录并下载Tomcat 9.0.115: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"
4、解压至标准路径:sudo tar -zxvf apache-tomcat-9.0.115.tar.gz -C /usr/local/
5、建立软链接统一访问路径:sudo ln -s /usr/local/apache-tomcat-9.0.115 /usr/local/tomcat
四、配置Tomcat系统级环境变量与非root用户权限
为符合安全基线要求,禁止以root身份运行Tomcat服务;通过创建受限系统用户并授予最小必要目录权限,可有效隔离Web容器运行边界,防止提权风险。
1、创建无登录权限的tomcat用户:sudo useradd -M -s /sbin/nologin tomcat
2、递归授权Tomcat主目录:sudo chown -R tomcat:tomcat /usr/local/tomcat
3、编辑系统环境变量文件:sudo nano /etc/profile
4、在文件末尾追加两行:export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
5、使配置立即生效:source /etc/profile
五、启用systemd服务管理并启动验证
使用systemd替代直接调用startup.sh/shutdown.sh,可实现开机自启、进程守护、日志集成与依赖关系控制,满足麒麟OS服务器版对服务生命周期的标准化管理要求。
1、创建systemd服务单元文件:sudo nano /usr/lib/systemd/system/tomcat.service
2、写入以下内容(确保路径与实际一致):[Unit]
Description=Apache Tomcat Server
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk"
Environment="CATALINA_HOME=/usr/local/tomcat"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
3、重载systemd配置:sudo systemctl daemon-reload
4、启用开机自启:sudo systemctl enable tomcat
5、启动服务并检查状态:sudo systemctl start tomcat && sudo systemctl status tomcat
六、验证部署结果与端口连通性
启动成功后需验证Tomcat监听状态、防火墙放行情况及基础页面响应,排除网络策略、SELinux限制或端口占用等常见阻断因素。
1、检查8080端口监听状态:sudo ss -tlnp | grep :8080
2、确认防火墙放行(若启用firewalld):sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload
3、本地curl验证欢迎页:curl -I http://127.0.0.1:8080
4、从外部浏览器访问:http://[服务器IP]:8080,出现Apache Tomcat欢迎页面即表示安装成功
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











