Tomcat 시작이 시작 시 중단되지만 명령줄에서는 성공적으로 실행됩니다.

Tomcat 시작이 시작 시 중단되지만 명령줄에서는 성공적으로 실행됩니다.

우분투 16.04에 tomcat9을 설치하고 명령줄에서 정상적으로 시작했는데,

sudo /usr/local/tomcat9/startup.sh

그리고 webapps의 모든 프로젝트를 로드할 수 있습니다.

그러나 OS가 부팅될 때 실행하려고 하면 "webapps/docs"를 로드하는 동안 항상 중단됩니다. 다음은 catalina.out의 스냅샷입니다:

카트리나아웃


Tomcat을 자동으로 시작하는 세 가지 방법을 시도했습니다.

1. init.d 디렉터리에 서비스를 설정합니다.

1) "catalina.sh" 파일을 "/etc/init.d"에 복사하고 이름을 "tomcat"으로 바꿉니다. 2) 파일에 Evirement Virables를 추가합니다.

CATALINA_HOME=/usr/local/tomcat9
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111 

3) 명령을 사용하십시오

  service tomcat start

2. systemd에서 서비스 설정

1) "/etc/systemd/system/tomcat.service" 파일을 편집합니다. 여기에 이미지 설명을 입력하세요.

2) 명령줄에서 구성을 로드합니다.

   systemctl daemon-reload
   systemctl start tomat

3) 상태 확인

   systemctl status tomat

Tomcat 서비스가 성공적으로 시작되었음을 나타냅니다.

3. 먼저 "rc.local" 서비스를 설정하고 "rc.local" 파일에 시작 스크립트를 추가합니다.

1) "/etc/systemd/system/rc-local.servic" 파일을 편집합니다.

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

2) "/etc/rc.local" 파일을 편집합니다.

  sudo /usr/local/tomcat9/bin/startup.sh

3) "rc.local" 서비스를 활성화합니다.

  sudo systemctl enable rc-local.service

4) 다시 시작

이러한 모든 방법은 동일한 결과를 제공합니다. Tomcat이 시작되지만 웹 애플리케이션 로드가 완료되지 않아 첫 번째 애플리케이션 "문서"를 로드하는 동안 중단됩니다.

저는 이것에 대해 아무것도 모릅니다. 도와주세요.

답변1

시작 시 다른 JAVA_HOME 시스템 환경 변수를 설정해도 비슷한 동작이 발생했습니다.
의심스러운 라인은 다음과 같습니다.의혹의 선

이것은 당신이 언급한 자바와는 다르게 보입니다 JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111.

나는 다음과 같은 것을 시도할 것입니다:

  1. 기본 Java를 확인하세요.update-alternatives --config java
  2. JAVA_PATHa가 어딘가에 설정되어 있는지 확인하세요 .

catalina.sh또한 에 복사했다고 말씀하셨는데 /etc/init.d, 이것도 문제가 될 수 있습니다. 우리 환경(실제로는 tomcat7이지만 매우 유사하다고 생각함)에는 간단한 스크립트가 있습니다./etc/init.dJAVA_HOME을 시작하도록 설정시작 파일. 다음과 같습니다.

JAVA_HOME=/opt/jdk1.8.0_92/
export JAVA_HOME
JRE_HOME=/opt/jdk1.8.0_92/jre
export JRE_HOME

PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/opt/tomcat

case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh -force
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh -force
sleep 3
sh $CATALINA_HOME/bin/startup.sh
;;

어쩌면 start.sh 사용을 고려해야 할 수도 있습니다./etc/init.d스크립트.

귀하의 문제를 더 자세히 조사할 수 있도록 몇 가지 의견을 제공하고 싶습니다.

답변2

내 경우(rc.local/sysv가 아닌 tomcat 8.5 및 systemd.service 장치 사용) 솔루션은 다음과 같이 변경되었습니다.

WorkingDirectory=/opt/tomcat-foobar/

답변3

부팅 시 Tomcat을 시작하는 한 가지 방법은 cron다음 속성을 사용하여 @reboot실행하는 것입니다.

터미널을 열고 다음을 입력하세요.

sudo crontab -e

파일 끝에 다음 명령을 입력하십시오.

@재시작PATH_TO_WHERE_TOMCAT_설치됨/bin/startup.sh

파일을 저장하고 종료합니다.

위 명령은 컴퓨터가 시작될 때마다 명령을 실행합니다.

관련 정보