阿里云环境中配置tomcat7可能出现的问题及解决方法

前提是安装好了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

首先我们通过命令  iptables -L  查看iptables列表,如果出现下图有规则的情况,使用  iptables -F来关闭
阿里云环境中配置tomcat7可能出现的问题及解决方法
为了保险起见,我们也可以将net表里的规则关闭,使用命令  iptables -t nat -F 来关闭

确认停用 selinux
使用命令 getenforce 查看状态,使用命令  setenforce 0 临时关闭,如果想永久关闭的话,可以参考这篇博客

(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