CentOS, o Tomcat 6 falhou e não será iniciado - problema de java?

1

O Linux não é o meu ponto strong, então tenha paciência comigo se isso parece um pouco novo. Eu tenho uma caixa de Linux virtual alugada, tem CentOS (não tenho certeza qual versão) e Apache com o Tomcat 6.

Nas últimas 24 horas, o processo do Tomcat falhou e não será iniciado novamente. Eu não sei porque, porque ele estava funcionando bem e eu não fiz alterações na operação do servidor (sem atualizações ou novos softwares de qualquer coisa)

As informações a seguir estão disponíveis para mim, mas infelizmente não apontam para uma solução:

Quando eu tento iniciar o serviço tomcat6 (serviço tomcat6 start) ele diz OK, mas quando eu checo seu status, (status do serviço tomcat6) ele diz "arquivo PID existe, mas o processo não está rodando"

O arquivo catalina.out registra algo assim sempre que tento iniciá-lo: / usr / sbin / tomcat6 /: linha 30: -Duser.language = en: comando não encontrado (às vezes os 30 serão 60).

Editado para adicionar: os eventos novos / relevantes em catalina.out são:

/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

Em /var/log/tomcat6-initd.log, vejo a seguinte queixa:

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

O log completo deste arquivo é:

/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

Nenhum outro registro foi atualizado desde o início

Eu tentei reiniciar a máquina, tanto por meio de um console on-line quanto em uma sessão PuTTy, e tentei excluir o arquivo de identificação do processo do tomcat (vi que em algum lugar alguém tinha o que parecia ser um problema semelhante) , como você pode imaginar, eu também tentei iniciar o tomcat6 em várias ocasiões, cada vez sem sucesso.

Alguém viu algo assim? Ou pode ser capaz de me ajudar a descobrir o que está acontecendo?

Edit: Eu também adicionei um extrato de / usr / sbin / tomcat6, espero que este formato seja correto, acredito que seja a seção do arquivo que responde se você usar o serviço tomcat6 start.

    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
    
por Sean W. 17.11.2015 / 12:53

1 resposta

0

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

Parece que o seu sistema não está conseguindo definir o JAVACMD, o que, por sua vez, leva a

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

porque o JAVACMD é nulo, o sistema tenta executar -Duser.language=en .

O JAVACMD está definido (ou não) em /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

Parece que você não tem um comando java válido nos lugares que o tomcat está procurando.

    
por 17.11.2015 / 13:58