Rocky8.5安装tomcat9(jdk使用jdk17版)

安装和之前的类似,注意几个细节即可,jre目录需要手动生成,tomcat9对8以上的高版本jre支持比较繁琐,对高版本jdk的支持还是可以的。指定环境变量时需要注意。

1.安装jdk17

使用下面的命令下载安装

如果是安装8u202以上,11版本,因版权问题,建议使用openjdk,redhat编译版jdk

#先下载jdk17这里是jdk-17_linux-x64_bin.tar.gz

cp jdk-17_linux-x64_bin.tar.gz /usr/local/
cd /usr/local/
tar -zxvf jdk-17_linux-x64_bin.tar.gz
rm jdk-17_linux-x64_bin.tar.gz

默认jdk17没有jre目录,我们需要生成jre目录

cd /usr/local/jdk-17.0.6/bin
./jlink --module-path jmods --add-modules java.desktop --output ../jre

若jre要支持tomcat启动,打包模块要比上面的这个多

./jlink --module-path jmods --add-modules java.desktop,java.logging,java.management,java.naming,java.rmi,java.sql,java.security.jgss,java.instrument --output ../jre

如果还提示类找不到,一般是缺少模块,可通过jshell命令查找所属模块

jshell
Module module = java.util.logging.Logger.class.getModule();
#Module module = org.ietf.jgss.GSSException.class.getModule();
String moduleName = module.getName();
System.out.println(moduleName);
/exit

生成的jre目录与bin目录同级

设置环境变量

编辑 /etc/profile,在最后添加

JAVA_HOME=/usr/local/jdk-17.0.6
JRE_HOME=/usr/local/jdk-17.0.6/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/jrt-fs.jar:$JRE_HOME/lib

最后执行下面这个命令,使环境变量生效

source /etc/profile

验证

java -version
javac -version

2.安装tomcat9

这里安装tomcat9.0.71

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.71/bin/apache-tomcat-9.0.71.tar.gz
cp apache-tomcat-9.0.71.tar.gz /usr/local/
cd /usr/local/
tar -zxvf apache-tomcat-9.0.71.tar.gz
rm apache-tomcat-9.0.71.tar.gz
mv apache-tomcat-9.0.71 tomcat

配置systemctl启动服务

cd /usr/lib/systemd/system/
nano tomcat.service

输入如下内容,然后Ctrl+X保存

[Unit]
Description=tomcat
After=network.target mysqld.service
[Service]
Type=oneshot
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

设置开机自启&启动&查看状态

systemctl enable tomcat.service
systemctl start tomcat.service
systemctl status tomcat.service

查看状态发现报错

startup.sh[23725]: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

是tomcat的JAVA_HOME或者JRE_HOME环境变量在tomcat里没配置

编辑$TOMCAT_HOME/bin/catalina.sh或者$TOMCAT_HOME/bin/setclasspath.sh 添加JAVA_HOME和JRE_HOME两个环境变量,内容如下,写在第一段大注释后面即可,大约110行的位置。

export JAVA_HOME=/usr/local/jdk-17.0.6
#export JRE_HOME=/usr/local/jdk-17.0.6/jre

注意,tomcat9支持8以上的高版本jre比较繁琐,只支持高版本jdk,所以jdk8以后的版本不要指定jre目录

若指定了模块较少的jre目录,可能会报找不到 java/util/logging/Logger的错误:Exception in thread "main" java.lang.NoClassDefFoundError: java/util/logging/Logger

之后就能正常启动了

systemctl restart tomcat.service
systemctl status tomcat.service

3.tomcat改端口

找到文件$TOMCAT_HOME/conf/server.xml

找到

<Connector port="8080" protocol="HTTP/1.1"

将port后的值改成对应的端口就OK了

这里改成80即

<Connector port="80" protocol="HTTP/1.1"

4.防火墙放行端口

放行80端口为例

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

访问

http://ip/

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值