问题描述:
在centos7安装tomcat后,物理机的浏览器访问不到虚拟机的tomcat的首页,防火墙关闭也访问不到,那么我建议可以试一试使用./shudown.sh关闭当前tomcat,并且看一看是否关闭了,如果没有彻底关闭,建议 kill -9 ps -ef|grep tomcat|awk '{print $2}'
用它来试试,然后在尝试访问,当然了这是在你确定没有其他的问题的情况下,如果你不确定可以根据我写的步骤进行判断,然后找对应的解决方法。
通用解决步骤
一般的解决方案都是让你看防火墙是否关闭,是否放行8080端口之类的,但是我遇到的问题就不是这样的,在防火墙都关了的情况下还访问不到首页,就很离谱,所以肯定不是防火墙的问题。
但是解决的步骤还是从关闭防火墙开始。
1.关闭防火墙,进行访问,看是否可以访问,如果可以访问就是因为在防火墙中没有对8080端口进行放行
2.关闭防火墙也没用的情况下:
2.1首先进入tomcat的bin目录,然后执行./catalina.sh run,相当于debug启动,看看启动过程中有没有什么异常,如果有异常,根据具体的异常信息来判断问题。
2.2 如果debug启动过程没有异常,那么查看日志来判断,到bin目录的上一级目录,进入logs目录,执行 tail catalina.out 命令,查看日志,通过日志信息来判断。
我遇到的问题
关闭防火墙,仍然访问不到首页,这里有个很气人的问题,就是正常启动显示启动了,但是不代表启动成功了,还是需要./catalina.sh run来看是否有异常信息,
在没有异常信息的情况下,我又进入logs文件夹,执行tail catalina.out,看日志,这是正常的情况,但是我的不是下面这样的
[root@192 logs]# tail catalina.out
29-Jul-2021 21:00:40.691 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/docs] has finished in [30] ms
29-Jul-2021 21:00:40.691 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/examples]
29-Jul-2021 21:00:41.030 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/examples] has finished in [339] ms
29-Jul-2021 21:00:41.031 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/host-manager]
29-Jul-2021 21:00:41.075 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/host-manager] has finished in [45] ms
29-Jul-2021 21:00:41.075 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/manager]
29-Jul-2021 21:00:41.114 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/apache-tomcat-8.5.32/webapps/manager] has finished in [39] ms
29-Jul-2021 21:00:41.118 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-8080”]
29-Jul-2021 21:00:41.215 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“ajp-nio-8009”]
29-Jul-2021 21:00:41.219 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 1100 ms
我遇到的是这样的我们可以看到大概的意思就是先暂停,然后停止,然后销毁,tomcat自己挂掉了,就很离谱,也不知道什么原因
[root@192 logs]# tail catalina.out
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
29-Jul-2021 19:11:48.967 信息 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [“http-nio-8080”]
29-Jul-2021 19:11:48.968 信息 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [“ajp-nio-8009”]
29-Jul-2021 19:11:48.968 信息 [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler [“http-nio-8080”]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler [“http-nio-8080”]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler [“ajp-nio-8009”]
29-Jul-2021 19:11:49.023 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler [“ajp-nio-8009”]
最终是如何解决的那
毫无头绪,但是我想着先把这个tomcat关了重开一个,问题出现了,使用./shutdown.sh 后,tomcat没有关掉,后台依旧这线程,使用ps -ef | grep tomcat查看还是存在,于是查了强制关的命令
kill -9 ps -ef|grep tomcat|awk '{print $2}'
关掉了,然后再启动tomcat,可以访问了首页了,日志里的信息也正常了,我个人认为可能是之前刚开始启动的tomcat报错了,但是我没有发现,直接用./shutdown.sh关闭,结果没有完全关闭,就与后来的tomcat起了冲突吧,可能这样说不是很严谨,但是问题解决了!!!!