背景:今天突然遇到一个问题,就是我的项目在外网访问不了,直接访问 tomcat 的首页也访问不到了。这台服务器没有使用 docker 容器 tomcat 镜像,就是直接安装的 tomcat 。
我的解决办法:
1、关闭服务器防火墙,最好只允许在使用的相应的端口访问;
2、查看一下 tomcat 容器是否是运行状态;假如是的话,就强制性关闭这个进程;
3、再使用命令 ./shutdown.sh
关闭 tomcat ;之后再开启 tomcat 进程 命令 ./startup.sh
;
4、查看通过什么端口可以访问 tomcat.
操作步骤:
1、使用命令firewall-cmd --state
查看一下防火墙的运行状态(我的是关闭状态):
service firewalld stop // 临时关闭防火墙
service firewalld status // 查看防火墙运行的信息
firewall-cmd --state // 查看防火墙是否运行中
假如是开启状态,在安全的情况下,可以直接命令 service firewalld stop
临时关闭防火墙(重启服务器就会开启防火墙),还是建议防火墙只允许放行指定端口,简单的设置见,这篇文章。
再使用命令 service firewalld status
就可以查看到,当前是关闭状态的了。
2、关闭防火墙之后,查看 tomcat 是否有运行的进程,有的话就强制关闭;
使用命令 ps -ef | grep tomcat
查看Java程序有无,有就使用 kill -9 ID
,强制关闭;
ps -ef | grep tomcat
如下显示就往下继续,不做任何操作;
3、进入你的 tomcat 安装目录下的 bin 目录,先使用命令 ./shutdown.sh
关闭一下 tomcat ,再使用命令 ./strartup.sh
开启 tomcat 服务进程;
cd /usr/local/tomcat/tomcat/bin
./shutdown.sh
./startup.sh
4、查看 tomcat 进程信息,查看访问的端口;
ps aux | grep tomcat
搜索访问的端口(我的外网访问是 80);
netstat -apn|grep 80
以上操作完,估计就是可以正常访问了!
我的访问演示:
总结:就是关闭防火墙和查看访问的端口
有用点个关注,手留余香!