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

时间:2022-02-01 08:11:06

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