发布于2026-07-02 阅读(0)
扫一扫,手机访问
要在银河麒麟系统上跑Ja va Web应用,第一步肯定是先把Tomcat这玩意儿部署上去。不过如果你还没动手,那得先理清楚几个关键环节:JDK环境准备好了没、Tomcat二进制包下了没、权限和服务配置搞定了没。银河麒麟V10(包括SP1、SP2这些子版本)默认是不带Tomcat的,而且多数版本连适配的OpenJDK 17都没有预装。直接跑去执行startup.sh?肯定会撞上“JA VA_HOME not set”或者“No Ja va runtime present”这类报错。所以,核心前提就是:必须显式地把环境配好、验证通过。

动手之前,得先搞清楚两个事儿:一是你用的到底是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版。
然后,用ja va -version 2>/dev/null || echo "未安装Ja va"测一下Ja va能不能用。如果返回了版本号,别忘了再跑echo $JA VA_HOME检查环境变量有没有配——这一步很关键:如果JA VA_HOME是空的,就算ja va命令能跑,后面Tomcat启动照样报错。
Tomcat 9.0.115及以上版本要在银河麒麟上稳定跑,依赖的是OpenJDK 17——它的JVM特性和安全性确实比旧版本靠谱。需要注意的是,必须把-devel包也装上,不然那些编译型的Web应用或者startup.sh脚本,很可能因为找不到tools.jar而直接罢工。
具体操作分两种:
sudo yum install ja va-17-openjdk ja va-17-openjdk-devel -y。sudo apt install openjdk-17-jdk -y。装完之后,编辑全局环境变量文件:sudo nano /etc/profile,在末尾追加三行内容。这里的路径需要和realpath $(dirname $(dirname $(readlink -f $(which ja va))))输出的路径保持一致——千万别想当然地写死:
export JA VA_HOME=/usr/lib/jvm/ja va-17-openjdk
export JRE_HOME=$JA VA_HOME/jre
export PATH=$PATH:$JA VA_HOME/bin
然后执行source /etc/profile让配置立即生效。最后跑echo $JA VA_HOME && ja va -version做双重验证——如果能输出路径和17.x的版本号,那就说明环境已经就绪了。
推荐用官方发布的.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身份直接运行Tomcat服务。要创建一个独立的用户,并且只给它最小必要权限。
sudo useradd -M -s /sbin/nologin tomcat。sudo chown -R tomcat:tomcat /usr/local/tomcat。bin目录下所有脚本加上可执行权限:sudo chmod +x /usr/local/tomcat/bin/*.sh。用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=JA VA_HOME=/usr/lib/jvm/ja va-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。
银河麒麟默认开着firewalld,8080端口如果不放行,浏览器是访问不了欢迎页的。
sudo firewall-cmd --permanent --add-port=8080/tcp。sudo firewall-cmd --reload。sudo systemctl status tomcat,确保Active状态显示为“active (running)”。最后,在本地浏览器访问http://127.0.0.1:8080,如果能看见Apache Tomcat的欢迎页面,那恭喜你——部署工作已经全部完成了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9