【发布时间】:2017-05-10 12:19:53
【问题描述】:
首先我必须说,我已经查看了所有相关帖子,但无法找到可行的解决方案。
我在 Centos 7 上运行 Tomcat 8.5.6。
我有一个在 Tomcat(8080、8009、8443)上运行的 API,它运行了很长时间而没有出现问题。上周我不得不创建一个新的 API 并开始出现问题:Tomcat 意外关闭,没有留下任何痕迹。我尝试将端口 8007(转发到端口 8443)用于新的 api。两个 api 都有效,但 Tomcat 一直在关闭。我尝试使用 8081,但无法在其上创建连接。
最后我决定在端口 8081 上安装一个新的 Tomcat 实例,但无法使新的 api 在新的 Tomcat(端口 8081、8007 和 8444)上工作。
我已禁用运行第一个 api 的 Tomcat 的关闭端口 (-1) 并停止了第二个 Tomcat(所以我现在只有 1 个 Tomcat 运行)并回滚了我所做的所有更改,但 Tomcat 一直在关闭向下。
从 Catalina.out 日志中,我不能说太多(它没有说任何关于关闭的内容)。它只是启动结束和以下重新启动(每次我意识到它已关闭时我都必须订购):
Configuring Spring Security Core ...
... finished configuring Spring Security Core
Configuring Spring Security REST 2.0.0.M2...
... finished configuring Spring Security REST
Configuring Spring Security UI ...
... finished configuring Spring Security UI
09-May-2017 22:44:01.315 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /opt/tomcat/tomcat-8.5.6/webapps/myapi-api.war has finished in 40,056 ms
09-May-2017 22:44:01.316 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/tomcat/tomcat-8.5.6/webapps/manager
09-May-2017 22:44:01.363 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/tomcat-8.5.6/webapps/manager has finished in 47 ms
09-May-2017 22:44:01.363 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/tomcat/tomcat-8.5.6/webapps/ROOT_
09-May-2017 22:44:01.385 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/tomcat-8.5.6/webapps/ROOT_ has finished in 22 ms
09-May-2017 22:44:01.385 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/tomcat/tomcat-8.5.6/webapps/ROOT
09-May-2017 22:44:01.395 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/tomcat-8.5.6/webapps/ROOT has finished in 10 ms
09-May-2017 22:44:01.403 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]
09-May-2017 22:44:01.409 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009]
09-May-2017 22:44:01.410 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 40230 ms
10-May-2017 08:22:08.631 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: My App Server
10-May-2017 08:22:08.662 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Nov 1 2016 00:00:00 UTC
10-May-2017 08:22:08.662 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 1.0.0.0
10-May-2017 08:22:08.663 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
10-May-2017 08:22:08.663 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 3.10.0-514.10.2.el7.x86_64
10-May-2017 08:22:08.663 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
10-May-2017 08:22:08.663 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/java/jdk1.8.0_112/jre
10-May-2017 08:22:08.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_112-b15
10-May-2017 08:22:08.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
10-May-2017 08:22:08.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /opt/tomcat/tomcat-8.5.6
10-May-2017 08:22:08.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /opt/tomcat/tomcat-8.5.6
10-May-2017 08:22:08.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/opt/tomcat/tomcat-8.5.6/conf/logging.properties
10-May-2017 08:22:08.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
10-May-2017 08:22:08.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
10-May-2017 08:22:08.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
10-May-2017 08:22:08.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/opt/tomcat/tomcat-8.5.6
10-May-2017 08:22:08.666 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/tomcat/tomcat-8.5.6
10-May-2017 08:22:08.666 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/opt/tomcat/tomcat-8.5.6/temp
10-May-2017 08:22:08.666 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
10-May-2017 08:22:08.991 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
10-May-2017 08:22:09.022 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
10-May-2017 08:22:09.024 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
10-May-2017 08:22:09.026 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
10-May-2017 08:22:09.026 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1112 ms
10-May-2017 08:22:09.061 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
10-May-2017 08:22:09.062 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: My App Server
10-May-2017 08:22:09.096 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /opt/tomcat/tomcat-8.5.6/webapps/myapi-api.war
我是 Tomcat 和 Centos 的新手,但我已经为此努力了很多天但没有运气,我不知道为什么我在部署新 api 时开始遇到问题。
我不确定这些信息是否足以进行分析,但我将不胜感激。
谢谢。
【问题讨论】:
-
我怀疑我们能帮上什么忙,但是您有没有检查系统日志以查看操作系统是否正在杀死 Tomcat? (谷歌“oom 杀手”)
-
检查是否生成了 hs_err_pid* 文件:oracle.com/technetwork/java/javase/felog-138657.html
-
以
catalina.sh run开始并检查std 上的输出,也许它会给你一个关于发生了什么的线索。