解决Spring项目部署到Linux访问超时问题

问题场景

本项目目标运行平台是Linux系统,所以要将本地Idea中写好的Springboot程序打包部署到Linux虚拟机环境下进行调试。

使用Idea自带的maven进行打包(clean install),将Jar包通过Xftp传输到虚拟机对应文件夹下,在虚拟机终端通过 java -jar filename 命令运行jar包,运行启动正常:

image.png

但在浏览器中访问对应端口,出现了没有响应、等待超时的问题。

问题解决

通过查询网上博客、论坛,发现这种情况一般是由于虚拟机防火墙未开放对应端口的原因。于是尝试根据此原理进行问题溯源:

通过在终端内使用firewall-cmd --query-port=8081/tcp命令,可以查询对应端口8081是否开放:
解决Spring项目部署到Linux访问超时问题-每日运维
可以发现响应为no,即未开放。

要开放8081端口,使用firewall-cmd --zone=public --add-port=8081/tcp --permanent命令,再使用systemctl restart firewalld命令重启防火墙,即可开放8081端口,再使用上文的query命令查询,发现端口已开放:
image.png

再次使用POSTMAN和浏览器进行访问,已经没有出现超时问题了,可以继续进行调试。

至此,问题得到解决。