一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

银河麒麟下如何安装和配置Tomcat服务器

时间:2026-07-04 08:00:47 编辑:袖梨 来源:一聚教程网

需先配置OpenJDK 17并设JAVA_HOME,再下载Tomcat 9.0.115解压至/usr/local/,创建tomcat用户授权目录,最后通过systemd配置服务实现开机自启与防火墙放行8080端口。

如果您在银河麒麟操作系统上需要运行Java Web应用,但尚未部署Tomcat服务器,则需完成JDK环境准备、Tomcat二进制安装、权限与服务配置等关键环节。银河麒麟V10(含SP1/SP2)默认不预装Tomcat,且多数版本未预装适配的OpenJDK 17,直接运行startup.sh会报“JAVA_HOME not set”或“No Java runtime present”错误,必须显式配置并验证。

确认系统类型与Java环境状态

准确识别系统发行版类型(Debian系或CentOS系)及CPU架构(x86_64或aarch64),是匹配JDK与Tomcat包的前提;同时验证是否已预装兼容的OpenJDK,避免重复安装或版本冲突。

执行cat /etc/os-release查看系统标识,重点关注ID_LIKE字段:若含debian则为Debian系,含centosrhel则为CentOS系。

运行uname -m确认硬件架构:输出aarch64为ARM版,x86_64为AMD/Intel版。

执行java -version 2>/dev/null || echo "未安装Java"检测Java是否可用;若返回版本号,再运行echo $JAVA_HOME检查环境变量是否已设——【若JAVA_HOME为空,即使java命令可用,后续Tomcat启动仍会失败】

安装并配置OpenJDK 17

Tomcat 9.0.115及以上版本在银河麒麟上稳定运行依赖于OpenJDK 17,其JVM特性与安全性优于旧版本;需确保-devel包存在,否则编译型Web应用或startup.sh脚本可能因找不到tools.jar而启动失败。

方法一:CentOS系麒麟执行sudo yum install java-17-openjdk java-17-openjdk-devel -y

方法二:Debian系麒麟执行sudo apt install openjdk-17-jdk -y

编辑全局环境变量文件:sudo nano /etc/profile,在末尾追加三行(路径须与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

执行source /etc/profile使配置立即生效,再运行echo $JAVA_HOME && java -version双重验证——输出路径与17.x版本号即成功。

下载并解压Tomcat 9.0.115至标准路径

采用官方发布的.tar.gz免安装包可规避麒麟系统中SELinux策略或AppArmor限制;解压至/usr/local/路径便于统一权限管理、升级维护,并符合国产化系统部署规范。

第一步:创建专用安装目录,sudo mkdir -p /usr/local/src/tomcat

第二步:切换目录并下载稳定版,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

第三步:校验压缩包完整性(生产必需),sudo sha512sum apache-tomcat-9.0.115.tar.gz | grep -q "b4e3d9c3" && echo "校验通过" || echo "校验失败"——【若输出“校验失败”,请删除文件重新下载,防止被篡改】

第四步:解压至标准路径,sudo tar -zxvf apache-tomcat-9.0.115.tar.gz -C /usr/local/,随后建立软链接便于维护:sudo ln -s /usr/local/apache-tomcat-9.0.115 /usr/local/tomcat

创建非root用户并授权运行目录

为保障系统安全,禁止以root身份直接运行Tomcat服务。需创建独立用户并赋予最小必要权限。

执行sudo useradd -M -s /sbin/nologin tomcat创建无登录shell的专用用户。

将Tomcat安装目录所有权全部移交:sudo chown -R tomcat:tomcat /usr/local/tomcat

赋予bin目录下所有脚本可执行权限:sudo chmod +x /usr/local/tomcat/bin/*.sh

配置systemd服务实现开机自启

通过systemd管理Tomcat进程可实现标准化启停、日志集成及故障自动恢复,替代手动执行startup.sh方式。

创建服务定义文件:sudo nano /usr/lib/systemd/system/tomcat.service,填入以下内容:

[Unit]

Description=Apache Tomcat Web Application Container

After=syslog.target network.target

[Service]

Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk

Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid

Environment=CATALINA_HOME=/usr/local/tomcat

Environment=CATALINA_BASE=/usr/local/tomcat

ExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/usr/local/tomcat/bin/shutdown.sh

RestartSec=10

Restart=always

User=tomcat

Group=tomcat

[Install]

WantedBy=multi-user.target

重载systemd配置:sudo systemctl daemon-reload

启用开机自启:sudo systemctl enable tomcat

立即启动服务:sudo systemctl start tomcat

开放防火墙端口并验证HTTP访问

银河麒麟默认启用firewalld,8080端口被拦截会导致浏览器无法访问欢迎页。

执行sudo firewall-cmd --permanent --add-port=8080/tcp永久放行端口。

重载防火墙规则:sudo firewall-cmd --reload

检查Tomcat进程状态:sudo systemctl status tomcat,确认Active状态为“active (running)”。

在本地浏览器访问http://127.0.0.1:8080,看到Apache Tomcat欢迎页面即表示部署完成。

热门栏目