最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
银河麒麟下如何安装和配置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系,含centos或rhel则为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欢迎页面即表示部署完成。