CentOS,Tomcat 6失败,将无法启动 – Java的问题?

如果这看起来有些新鲜的话,Linux并不是我强大的西装,所以请忍受。 我有一个虚拟的Linux机器租用,有CentOS(不知道哪个版本)和Apache与Tomcat 6。

在过去的24小时内,Tomcat进程失败,不会重新启动。 我不知道为什么,因为它一直工作正常,我没有改变服务器操作(没有更新或任何新的软件)

以下信息对我来说是可用的,但不幸的是并没有指出我的解决scheme:

当我尝试启动tomcat6服务(服务tomcat6启动)它说OK,但是当我检查其状态,(服务tomcat6状态)它说:“PID文件存在,但进程没有运行”

catalina.out文件每次尝试启动时都会logging下这样的内容:/ usr / sbin / tomcat6 /:line 30:-Duser.language = en:command not found(有时候30会是60)。

编辑添加:catalina.out中的新/相关事件是:

/usr/sbin/tomcat6: line 60: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found /usr/sbin/tomcat6: line 60: -Duser.language=en: command not found /usr/sbin/tomcat6: line 60: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found /usr/sbin/tomcat6: line 60: -Duser.language=en: command not found /usr/sbin/tomcat6: line 60: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found /usr/sbin/tomcat6: line 60: -Duser.language=en: command not found /usr/sbin/tomcat6: line 30: -Duser.language=en: command not found 

在/var/log/tomcat6-initd.log我看到以下投诉:

 /usr/sbin/tomcat6: error: Failed to set JAVACMD. 

这个文件的完整日志是:

 /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD /usr/sbin/tomcat6: error: Failed to set JAVACMD 

自开始以来没有其他日志已经更新

我已经尝试重新启动计算机,通过在线控制台和PuTTy会话,我已经尝试删除tomcat进程id文件(看到某个地方有人看起来像一个类似的问题)没有任何工作,因为你可以想象,我也试图多次启动tomcat6,每次都没有成功。

有没有人看过像这样的东西? 或者可以帮助我弄清楚发生了什么?

编辑:我也添加了从/ usr / sbin / tomcat6提取,希望这种格式正确,我相信这是文件的部分,如果您使用服务tomcat6启动回应。

  if [ "$1" = "start" ]; then ${JAVACMD} $JAVA_OPTS $CATALINA_OPTS \ -classpath "$CLASSPATH" \ -Dcatalina.base="$CATALINA_BASE" \ -Dcatalina.home="$CATALINA_HOME" \ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ -Djava.io.tmpdir="$CATALINA_TMPDIR" \ -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \ -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \ org.apache.catalina.startup.Bootstrap start \ >> ${CATALINA_BASE}/logs/catalina.out 2>&1 & if [ ! -z "$CATALINA_PID" ]; then echo $! > $CATALINA_PID fi 

/ usr / sbin / tomcat6:错误:无法设置JAVACMD

它看起来像你的系统是无法定义JAVACMD反过来导致

/ usr / sbin / tomcat6:第60行:-Duser.language = en:找不到命令

因为JAVACMD为空,系统尝试运行-Duser.language=en

JAVACMD被定义(或不​​)在/usr/share/java-utils/java-functions

  # Add all sorts of jvm layouts here if [ -x "$JAVA_HOME/jre/sh/java" ]; then JAVACMD="$JAVA_HOME/jre/sh/java" elif [ -x "$JAVA_HOME/bin/java" ]; then JAVACMD="$JAVA_HOME/bin/java" else JAVACMD=`which java 2>/dev/null` fi if [ ! -x "$JAVACMD" ]; then echo "$0: error: Failed to set JAVACMD" return 1 fi 

所以看起来你没有有效的java命令在tomcat正在寻找的地方。