必须先安装并正确配置Tomcat服务器,否则Java Web应用无法启动或访问失败;Desktop 20 Pro版用sudo apt install tomcat9一键部署,Server 1021版需手动安装Oracle JDK 8、解压Tomcat 8.5.35、配置systemd服务及运行用户。

在统信UOS系统上部署Java Web应用,必须先安装并正确配置Tomcat服务器,否则应用无法启动或访问失败;不同版本UOS(如Desktop 20 Pro、Server 1021)对安装方式支持差异明显,不能直接套用CentOS或Ubuntu的脚本。
确认系统版本与架构
执行cat /etc/os-version和uname -m,查看UOS具体版本号及CPU架构(x86_64或aarch64)。Desktop版推荐用apt一键安装,Server版建议手动部署以获得完整控制权。
若输出中包含VERSION_ID="20"且NAME="uos",说明是Desktop 20 Pro系列,可跳过源码编译环节。
方法一:Desktop版直接apt安装(最快)
打开终端,执行:sudo apt update && sudo apt install tomcat9。这会自动安装OpenJDK 11、tomcat9及配套systemd服务文件。
安装完成后,Tomcat默认运行在8080端口,webapps目录位于/var/lib/tomcat9/webapps/,配置文件在/etc/tomcat9/。
启动服务:sudo systemctl start tomcat9.service;设为开机自启:sudo systemctl enable tomcat9.service。
【注意】此方法不适用于UOS Server系统——其软件源中通常不含tomcat9包,强行执行会提示“Unable to locate package”。
方法二:Server版手动部署(推荐)
第一步:卸载系统自带OpenJDK
执行dpkg -l | grep openjdk列出已安装包,逐个卸载:sudo apt remove --purge openjdk-*-jre-headless openjdk-*-jre openjdk-*-jdk。残留配置需清理:sudo rm -rf /usr/lib/jvm/*openjdk*。
第二步:安装Oracle JDK 8
下载jdk-8u201-linux-x64.tar.gz(ARM架构请换对应aarch64包),解压至/opt/java:sudo tar -zxf jdk-8u201-linux-x64.tar.gz -C /opt/ && sudo mv /opt/jdk1.8.0_201 /opt/java。
第三步:配置JAVA_HOME
编辑/etc/profile,末尾追加:export JAVA_HOME=/opt/javaexport PATH=$JAVA_HOME/bin:$PATH
执行source /etc/profile生效,验证:java -version应显示"Java(TM) SE Runtime Environment"。
第四步:部署Tomcat
下载apache-tomcat-8.5.35.tar.gz,解压并移至/opt/tomcat:sudo tar -zxf apache-tomcat-8.5.35.tar.gz -C /opt/ && sudo mv /opt/apache-tomcat-8.5.35 /opt/tomcat。
【关键】必须修改/opt/tomcat/bin/catalina.sh,在首行#!/bin/sh下方插入:export CATALINA_PID="/opt/tomcat/pid",否则systemd无法获取进程ID。
第五步:创建systemd服务
新建/lib/systemd/system/tomcat.service,内容如下:
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
PIDFile=/opt/tomcat/pid
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
第六步:创建运行用户并授权sudo useradd -r -s /bin/false tomcatsudo chown -R tomcat:tomcat /opt/tomcatsudo chmod +x /opt/tomcat/bin/*.sh
第七步:启用服务sudo systemctl daemon-reloadsudo systemctl start tomcatsudo systemctl enable tomcat
验证Tomcat是否正常工作
执行sudo ss -tlnp | grep :8080,确认有java进程监听8080端口。
若UOS桌面环境可用,打开浏览器访问http://localhost:8080;若为纯Server环境,用curl测试:curl -I http://127.0.0.1:8080,返回HTTP 200即成功。
防火墙需放行8080端口:sudo ufw allow 8080(Desktop版)或sudo firewall-cmd --permanent --add-port=8080/tcp(Server版,需先sudo apt install firewalld)。

















