前言
不是没有关闭防火墙或没有放行8080端口给外部使用,而是JDK和Tomcat的版本匹配问题
环境
CentOS7
JDK1.8
Tomcat 10.1.16
问题
当时镜像网站:https://dlcdn.apache.org/ tomcat只有10.1.16版本了,直接wget下载的.tar.gz但是,解压后运行多次./startup.sh 都显示
但是我去查看监听端口8080:
netstat -anp | grep 8080
啥也没有,说明这个这个端口上没有进程在运行,试了好多遍都没有变化
问题解决
查阅后发现,是jdk版本和tomcat版本不匹配导致的
后面去 这个镜像网站 https://archive.apache.org/下载到了tomcat 10.0.27的.tar.gz,再解压运行startup.sh,并且netstat -anp | grep 8080 查看监听端口8080,发现可以找到,在虚拟机内
curl 127.0.0.1:8080
也能得到对应的结果
虚拟机关闭linux防火墙 或 对外放行8080端口后,在外部也可以访问
虚拟机IP:8080 我的是 192.168.88.130:8080
可以得到正确的结果,说明是jdk和tomcat版本不匹配的问题