前提是安装好了tomcat,但是输入ip+端口无法访问,那么情况有一下几种
(1)可能防火墙没有关闭
systemctl stop firewalld.service
#停止firewall
systemctl disable
firewalld.service #禁止firewall开机启动
firewall-cmd --state
#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
(2)可能我们输入 firewall-cmd --state显示防火墙是关闭的,但是在在centeros7中防火墙改成了 iptables,所以我们可以关闭iptables
(3)再关闭tomcat时候可能会出错,如果提示 8005端口可能没有启动,则可能是如下解决方案了
配置tomcat的时候 发现了一个问题,tomcat启动的时候,8005端口未启动,故无法关闭tomcat,后经查询解决了,记录一下子
tomcat启动的时候看不出异常,关闭的时候回报错类似:
Jul 17, 2015 9:47:54 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
Jul 17, 2015 9:47:54 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.(Socket.java:372)
at java.net.Socket.(Socket.java:186)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:498)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)
即为8005端口未运行,使用命令netstat -ant 发现 没有找到8005端口
解决办法:
修改$JAVA_HOME/jre/lib/security/Java.security 文件中 securerandom.source 配置项:
将
securerandom.source=file:/dev/random
修改为:
securerandom.source=file:/dev/urandom(网上查询的结果,我改完这个就可以了,下面的未测试)
如果,仍然不生效,则修改为: file:/dev/./urandom