阿里云CentOs7部署Tomcat运行shutdown.sh报错

本文介绍了解决Tomcat启动失败的问题,包括验证Tomcat启动状态、修改java.security文件及根据日志排查具体原因等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大概提示SEVERE: Could not contact localhost:8005. Tomcat may not be running.这个错误消息。捣鼓一番,发现是tomcat根本就没有启动成功导致的。

1.验证tomcat是否启动成功:

远程连接你的服务器,使用xrdp或FTP工具(WinSCP)都可以,我这里直接使用了WinSCP。

打开控制台,输入 ps -ef|grep tomcat,观察如下的截图,如果仅仅出现截图中类似的一条记录,则证明tomcat没有启动成功。

如果你看到的如下的截图,证明tomcat启动是ok的,本文后面的部分将对你没有什么帮助,直接右上角点x即可。

2.让tomcat正常跑起来

2.1修改java.security文件

找到jdk的路径,使用如下的三条指令即可看到jdk真实目录: 

which java 

ls -lrt /usr/bin/java 

ls -lrt /etc/alternatives/java
跳转到jdk目录,找到java.securty文件,如图:

将securerandom.source那一行修改为 securerandom.source=file:/dev/./urandom 即可,重新尝试启动tomcat,验证是否成功,如果还不成功,则就要看日志了。

2.2根据日志分析问题

找到tomcat安装路径,例如我的路径/usr/local/apache-tomcat-8.5.32/logs,找到最近的catalina日志。

日志提示信息如下:

03-Aug-2018 16:22:50.522 SEVERE [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@13af2a8b]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4907)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5042)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: The main resource set specified [/demo-0.0.1-SNAPSHOT] is not valid
    at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:748)
    at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 9 more

 

显然日志提示我的项目路径不正确。

找到conf下server.xml文件,发现目前的docBase路径是带了 ‘/’ 的,去掉 ‘/’ 改成如下即可。

原来的:<Context path="" docBase="/demo-0.0.1-SNAPSHOT" debug="0" reloadable="true"></Context>

新的:   <Context path="" docBase="demo-0.0.1-SNAPSHOT" debug="0" reloadable="true"></Context>

然后重新启动tomcat,一切ok!

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alphathur

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值