微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu – 服务tomcat7启动失败,但进程存在,tomcat正在运行

我一直在使用apt-get install tomcat7在ubuntu docker镜像上安装tomcat7.
安装工作正常,并从catalina.sh启动tomcat.

我需要从“服务tomcat7启动”启动tomcat,而不是失败.
无论失败的结果,如果我wget localhost:8080我可以看到tomcat的回答,如果我ps -ef | grep tomcat我可以看到进程.

类似地,如果我运行服务tomcat7的状态,它说tomcat不运行,即使它是和PID文件确实存在.

我注意到,当我从catalina脚本启动tomcat时,创建的pid文件称为tomcat.pid,但是/etc/init.d/tomcat脚本会尝试读取tomcat7.pid.

但是,强制在脚本中的名称窥视正确的pid文件,不能解决问题.

有没有人经历过这个?

我正在尝试的ubuntu版本的docker文件并不真正相关,因为我已经尝试了几个.

无论如何,我主要使用的是12.10和14.04.

谢谢!

在Docker Ubuntu映像中,我使用的是(5506de2b643b – 14.04.1 LTS),具有-test参数的start-stop-daemon工作不正确,并报告tomcat没有运行,即使是这样.

tomcat7 init.d脚本启动tomcat,因为start-stop-daemon –test说(正确)tomcat没有运行,但是稍后在启动过程中,它会检查tomcat是否已成功启动并正在运行. start-stop-daemon – 现在测试错误地说tomcat没有运行,这导致tomcat7 init.d脚本删除PID文件.

因此,当tomcat运行时,tomcat7的状态返回false,因为PID文件已经消失,但是由于start-stop-daemon -test中的错误,PID文件在PID中是正确的,所以返回false.

这是一个演示该bug的示例会话:

#TOMCAT PID IS 43
root@a2cf26ade2a9:/# ps -eaf | grep tomcat7
tomcat7     43     1  0 14:06 ?        00:00:04 /usr/lib/jvm/java-7-oracle/bin/java -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx128m -XX:+UseConcmarkSweepGC -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp org.apache.catalina.startup.Bootstrap start

#PID FILE HAS CORRECT PID
root@a2cf26ade2a9:/#  cat /var/run/tomcat7.pid
43

#START-STOP-DAEMON --TEST REPORTS THAT IT WOULD START TOMCAT
root@a2cf26ade2a9:/#  start-stop-daemon --test --start --pidfile /var/run/tomcat7.pid --user tomcat7 --exec /usr/lib/jvm/java-7-oracle/bin/java
Would start /usr/lib/jvm/java-7-oracle/bin/java .

root@a2cf26ade2a9:/# echo $?
0

原文地址:https://www.jb51.cc/ubuntu/349108.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐