본문 바로가기

기타/리눅스

리눅스 서버에서 수동으로 Tomcat 재부팅하기

서버 자체를 Stop시키는 게 아니라, 리눅스 서버에서 수동으로 애플리케이션의 Tomcat을 재부팅 해야할 때가 있다.

 

여기선 Tomcat을 Stop 시키는 2가지 방법을 정리한다.

1. Tomcat의 shutdown.sh, startup.sh 사용

2. Suprervisor 사용

 

Supervisor가 좀 더 간단하다.

Tomcat의 shutdown.sh, startup.sh 사용

아래 명령어로 tomcat이 설치된 경로를 찾아 접근한다.

whereis tomcat

 

내 경우, /usr/local/tomcat으로 나왔다. 

/usr/local/tomcat/bin에 들어가면 shutdown.sh와 startup.sh가 있는 것을 확인할 수 있다.

 

경로에 들어가서 ./shutdown.sh를 실행하면 tomcat 서버가 stop되고, ./startup.sh를 실행하면 tomcat 서버가 켜진다.

-- tomcat이 설치된 경로의 bin에서 실행

-- tomcat 서버 stop
./shutdown.sh

-- tomcat 서버 start
./startup.sh

 

 

만약, shutdown.sh를 실행하는 데 아래와 같은 에러가 뜬다면, Supervisor를 이용해 stop하도록 하자.

리눅스 접속 시, www 계정을 이용했는데 아래와 같이 /home/www/bin/setclasspath.sh를 찾을 수 없다는 에러가 나왔다.

Supervisor 사용

Supervisor는 리눅스 서버의 프로세스를 관리하는 시스템이다.

 

우선 Supervisor를 사용하려면 서버에 Supervisor가 설치되어 있어야한다. 자세한 내용은 아래 페이지 참조.

https://www.lesstif.com/lpt/linux-super-visor-daemon-71401490.html

 

리눅스 슈퍼 바이저 데몬(Linux super visor daemon)로 프로세스 관리하기

 여기를 클릭하여 펼치기... /etc/supervisor/conf.d/laravel-queue-worker.conf [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /home/forge/app.com/artisan queue:work redis --sleep=3 --tries=3 autostart=true auto

www.lesstif.com

 

supvervisor가 설치되어 있다면, supervisorctl 명령어를 실행한다.

그러면 프로세스들의 status가 나오고 supervisorctl 명령어를 사용할 수 있도록 'supervisor> '로 입력할 수 있게 나온다.

 

프로세스에 batch 어플리케이션과 nginx가 실행중인 것을 알 수 있다.

batch 어플리케이션이 tomcat을 사용하고 있고, batch application을 Stop시키는 것이 목적이므로 batch application을 stop시켰다.

 

'stop 프로레스명' 을 입력하면 프로세스가 stop된다.

stop batch 명령어를 입력해서 batch 애플리케이션을 stop시켰다.

 

status 명령어를 입력하면 프로세스의 상태를 확인할 수 있다.

batch 애플리케이션이 stop된 것을 확인할 수 있다.

 

'start 프로세스명'을 입력하면 프로세스가 시작된다.

start batch로 다시 batch 애플리케이션을 실행시켰다.

다시 status 명령어를 입력하면 batch 프로세스의 상태가 RUNNING으로 나온다.

 

 

supervisor에서 나가는 방법은 exit 명령어를 입력하면 된다.