Tomcat没有关闭

时间:2014-02-16 08:46:06

标签: java tomcat

我无法关闭tomcat。当我执行./shutdown.sh时,我没有看到任何错误,但该过程似乎仍在运行。当我杀死进程(kill -9)时,进程被终止。在此之后,如果我进行启动并再次关机,我会看到同样的问题。我如何优雅地关闭它?为什么这首先发生?请帮帮我。

devServer:bin dev$ ps -ef|grep tomcat
  501 34933     1   0 11:24PM test    0:02.02 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Djava.util.logging.config.file=/Users/dev/admin/runtime/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/Users/dev/admin/runtime/endorsed -classpath /Users/dev/admin/runtime/bin/bootstrap.jar:/Users/dev/admin/runtime/bin/tomcat-juli.jar -Dcatalina.base=/Users/dev/admin/runtime -Dcatalina.home=/Users/dev/admin/runtime -Djava.io.tmpdir=/Users/dev/admin/runtime/temp org.apache.catalina.startup.Bootstrap start
  501 34982 33786   0 11:45PM test    0:00.00 grep tomcat
devServer:bin dev$ ./shutdown.sh
Using CATALINA_BASE:   /Users/dev/admin/runtime
Using CATALINA_HOME:   /Users/dev/admin/runtime
Using CATALINA_TMPDIR: /Users/dev/admin/runtime/temp
Using JRE_HOME:        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Using CLASSPATH:       /Users/dev/admin/runtime/bin/bootstrap.jar:/Users/dev/admin/runtime/bin/tomcat-juli.jar
devServer:bin dev$ ps -ef|grep tomcat
  501 34933     1   0 11:24PM test    0:02.03 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Djava.util.logging.config.file=/Users/dev/admin/runtime/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/Users/dev/admin/runtime/endorsed -classpath /Users/dev/admin/runtime/bin/bootstrap.jar:/Users/dev/admin/runtime/bin/tomcat-juli.jar -Dcatalina.base=/Users/dev/admin/runtime -Dcatalina.home=/Users/dev/admin/runtime -Djava.io.tmpdir=/Users/dev/admin/runtime/temp org.apache.catalina.startup.Bootstrap start
  501 34992 33786   0 11:45PM test    0:00.00 grep tomcat
devServer:bin dev$ 

另外,我看到我的catalina.out太短了。根本没有写入端口号信息。这是我每次启动时都会看到的。

Feb 15, 2014 11:24:23 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java

这是我的日志文件 -

devServer:logs dev$ cat catalina.2014-02-15.log 
Feb 15, 2014 11:24:23 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java

似乎有些东西搞砸了。我无法理解。请指教。 我在Mac OS上运行tomcat 7.0.50。

1 个答案:

答案 0 :(得分:1)

从日志来看,很明显tomcat根本没有启动。我可以建议其他一些测试,以及

  1. 验证端口是否受到tomcat服务的约束。您可以通过在终端上发出命令netstat -tuplen并检查端口8080是否被tomcat实例绑定来执行此操作。
  2. 检查您是否可以ping实例。尝试从本地计算机ping tomcat实例。然后尝试ping服务器的公共IP以验证该服务器是否正确响应
  3. 确认您拥有其他服务器使用的完整tomcat模板。验证tomcat installtion文件夹,并将其与其他服务器中使用的其他tomcat模板进行比较。确保所有文件夹都存在,所有配置(默认tomcat配置)文件都存在。
  4. (只是预感)同时验证读/写/执行权限
  5. 删除您的应用程序,关闭tomcat,清空日志,然后重新启动tomcat并重新部署您的应用程序,然后查看日志以查看是否出现错误
  6. 点3似乎更有可能是你有一个不完整的tomcat实例,所以我建议你制作一个在任何其他服务器中使用的tomcat实例的副本,并在这个服务器中使用它来确保服务器环境实际上是如何的应该是